この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
次スレは>>980が立てること
【前スレ】
スレ立てるまでもない質問はここで 159匹目
https://mevius.5ch.net/test/read.cgi/tech/1644673480/
探検
スレ立てるまでもない質問はここで 160匹目
■ このスレッドは過去ログ倉庫に格納されています
2022/05/10(火) 14:24:35.29ID:+9FnNLoT
512デフォルトの名無しさん
2022/07/26(火) 23:31:05.10ID:MJpCL8rD >>510
すみませんよくわかりません
" "を消すことで点数は出るようになったのですが
textboxに何も入力出来ずにボタンを押すと今度は5点が出るようになってしまいました
また数値の差(textboxとlabelの差が10以内ならAを表示20より上ならBを表示)などはどうすればいいのでしょうか
すみませんよくわかりません
" "を消すことで点数は出るようになったのですが
textboxに何も入力出来ずにボタンを押すと今度は5点が出るようになってしまいました
また数値の差(textboxとlabelの差が10以内ならAを表示20より上ならBを表示)などはどうすればいいのでしょうか
513デフォルトの名無しさん
2022/07/26(火) 23:31:14.00ID:khPn0eWd >>511みたいなRubyガイジは消えてねw
Rubyなんてもう仕事では使われなくなっている訳だがw
Rubyなんてもう仕事では使われなくなっている訳だがw
514アリ人間 ◆T6xkBnTXz7B0
2022/07/26(火) 23:45:37.56ID:SFGiBpCo >>512
イベント駆動、制御構造、文字列と数値の違いもわかってないみたいだから、前の単元を見直して再勉強して下さい。
イベント駆動、制御構造、文字列と数値の違いもわかってないみたいだから、前の単元を見直して再勉強して下さい。
515デフォルトの名無しさん
2022/07/26(火) 23:52:00.61ID:EFLNvNJ6516アリ人間 ◆T6xkBnTXz7B0
2022/07/26(火) 23:53:31.94ID:SFGiBpCo 数値の差は引き算と絶対値を使えば得られる。
その前に文字列を数値に変換する必要がある。
その前に文字列を数値に変換する必要がある。
517デフォルトの名無しさん
2022/07/27(水) 00:18:54.56ID:nNmP47B2518アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 00:25:27.19ID:LZk+uw73 変数には型があって、As Stringと書いた変数は文字列型になる。数値を文字列型の変数に代入することはできない。
式にも型がある。
式にも型がある。
519アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 00:31:01.68ID:LZk+uw73 文字列型と数値型の比較は、、、やらん方がいいな。
520デフォルトの名無しさん
2022/07/27(水) 00:35:28.64ID:RpXAKi4d521アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 00:38:41.47ID:LZk+uw73 Label1.Textは文字列型だね。
522デフォルトの名無しさん
2022/07/27(水) 00:50:16.57ID:L+cMx9Xr523アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 00:52:50.73ID:LZk+uw73524アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 00:56:01.02ID:LZk+uw73 Label1は何に使うのか
TextBox1は何に使うのか
TextBox1は何に使うのか
525デフォルトの名無しさん
2022/07/27(水) 00:58:25.68ID:vjLtCyiu526アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:06:32.36ID:LZk+uw73 ランダムな数値をValue1に代入する。
Label1にValue1を文字列にしたものを格納する。
TextBox1の文字列を数値にしたものを変数Value2に代入する。
Value1とValue2を比較する。
Value1 > Value2なら「大きいです」という文字列を(以下略)
Label1にValue1を文字列にしたものを格納する。
TextBox1の文字列を数値にしたものを変数Value2に代入する。
Value1とValue2を比較する。
Value1 > Value2なら「大きいです」という文字列を(以下略)
527アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:13:48.04ID:LZk+uw73 Value1, Value2という2つの変数が必要。
ランダムな数字を表示するのはいつ? ボタンを押したとき?
ランダムな数字を表示するのはいつ? ボタンを押したとき?
528アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:18:20.56ID:LZk+uw73 複数回比較するので、変数に代入せずに変換する式をそのまま書くのは冗長。
529デフォルトの名無しさん
2022/07/27(水) 01:20:57.98ID:MwlsM79e >>526
cstrではダメということですか?
cstrではダメということですか?
530アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:22:57.37ID:LZk+uw73531デフォルトの名無しさん
2022/07/27(水) 01:23:03.27ID:dBfhXkJs >>527
ボタンを押した時です
ボタンを押した時です
532デフォルトの名無しさん
2022/07/27(水) 01:28:33.91ID:8iD3kOwS 今の状態ではlabelもtextboxも変数にはなっていないということですか?
533アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:29:37.99ID:LZk+uw73 日本の情報教育では、出題者の意図を推し測るのが義務化されているので、問題がLabel2への格納を暗に要求しているのであれば、そのように書かなければならない。
問題文はどうなってる?
問題文はどうなってる?
534アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:31:05.90ID:LZk+uw73 フォームでLabel1を配置したのであれば、Label1.Textは文字列変数として使える。
535デフォルトの名無しさん
2022/07/27(水) 01:33:27.91ID:9eouHVow >>533
スロットを使って2桁の整数を作る
・ 入力欄に 99 以下の整数を入力して、「判定」ボタンを押すと、入力された数値とスロット
の数値を比較して、その差によって以下に示すような点数が表示されるゲーム
・ 「判定」ボタンと「終了」ボタン、数値の入力欄、スロット表示欄、得点表示欄の5つは必
ずつけること。
・ 入力欄とスロット、得点のクリアボタンを作る(クリアの状態は自由に設定して OK)
・ コードには、意図が伝わるようにコメントを書き入れる
<点数と条件>
・ 2 つの数値が一致したら、100 点をフォーム上に表示
・ 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
こんな感じです
スロットを使って2桁の整数を作る
・ 入力欄に 99 以下の整数を入力して、「判定」ボタンを押すと、入力された数値とスロット
の数値を比較して、その差によって以下に示すような点数が表示されるゲーム
・ 「判定」ボタンと「終了」ボタン、数値の入力欄、スロット表示欄、得点表示欄の5つは必
ずつけること。
・ 入力欄とスロット、得点のクリアボタンを作る(クリアの状態は自由に設定して OK)
・ コードには、意図が伝わるようにコメントを書き入れる
<点数と条件>
・ 2 つの数値が一致したら、100 点をフォーム上に表示
・ 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
こんな感じです
536デフォルトの名無しさん
2022/07/27(水) 01:35:03.65ID:D3U44Pck リテラルとカフェラテ
おいしいのはネスカフェ
おいしいのはネスカフェ
537デフォルトの名無しさん
2022/07/27(水) 01:38:13.06ID:fjgr5dHm >>534
その文字列変数を数値に代入してから比較するということですか?
その文字列変数を数値に代入してから比較するということですか?
538アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:39:32.12ID:LZk+uw73 わかってないようだが、VBでは日本語変数名・日本語コントロール名が使えるはずだ。
まず、フォームに何を配置する?
ボタン、ラベル、テキストボックスの三種のコントロールが使える。
ユーザーはラベルには入力できない。
ユーザーはテキストボックスに文字列を入力できる。
まず、フォームに何を配置する?
ボタン、ラベル、テキストボックスの三種のコントロールが使える。
ユーザーはラベルには入力できない。
ユーザーはテキストボックスに文字列を入力できる。
539アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:42:52.40ID:LZk+uw73 「判定」ボタン、
「終了」ボタン、
「数値入力」テキストボックス、
「スロット表示」ラベル、
「得点表示」ラベル。
これでいこう。
「終了」ボタン、
「数値入力」テキストボックス、
「スロット表示」ラベル、
「得点表示」ラベル。
これでいこう。
540デフォルトの名無しさん
2022/07/27(水) 01:43:55.82ID:YSkUdWVs >>539
それは既に配置しています
それは既に配置しています
541アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:49:59.36ID:LZk+uw73 Dim 値1 As Integer
Dim 値2 As Integer
Dim 差分 As Integer
値1 = Int(Rnd()*99)
スロット表示.Text = CStr(値1)
値2 = Val(数値入力.Text)
差分 = Abs(値1 - 値2)
Dim 値2 As Integer
Dim 差分 As Integer
値1 = Int(Rnd()*99)
スロット表示.Text = CStr(値1)
値2 = Val(数値入力.Text)
差分 = Abs(値1 - 値2)
542アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:51:03.95ID:LZk+uw73 スロットっていうことは、タイマー使ってクルクル回した方がいいのか?
543アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:58:07.37ID:LZk+uw73 フォームにタイマーを配置。
フォームが初期化されるときに0.33秒間隔のタイマーを起動。
タイマーイベントが発生したら、スロットの文字列をランダムな数字で更新。
フォームが初期化されるときに0.33秒間隔のタイマーを起動。
タイマーイベントが発生したら、スロットの文字列をランダムな数字で更新。
544アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 01:59:20.33ID:LZk+uw73 判定ボタンを押したらタイマーを停止。
終了ボタンを押したらフォームを閉じる。
終了ボタンを押したらフォームを閉じる。
545アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:00:55.62ID:LZk+uw73 待てよ、スロットは規則正しく動かすべきか、それともランダムに変えるべきか。
546デフォルトの名無しさん
2022/07/27(水) 02:02:44.06ID:qI+Uo5vp >>541
Dim inp1 As Integer
Dim inp2 As Integer
Dim inp3 As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
ということで大丈夫ですか?
Dim inp1 As Integer
Dim inp2 As Integer
Dim inp3 As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
ということで大丈夫ですか?
547アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:05:27.70ID:LZk+uw73549デフォルトの名無しさん
2022/07/27(水) 02:10:38.30ID:kUpgZ120550デフォルトの名無しさん
2022/07/27(水) 02:12:35.54ID:kUpgZ120 >>548
つまり
Label1.Text = CStr(Int(Rnd() * 99))
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
ということですか?
つまり
Label1.Text = CStr(Int(Rnd() * 99))
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
ということですか?
551アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:13:43.00ID:LZk+uw73554アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:20:59.51ID:LZk+uw73 スロットマシンのような動作を期待しているのであれば、タイマーを使ってクルクル回す必要がある。なんなら音を出して、カジノのような演出も必要かも知れない。
出題者の意図をよく理解するんだ。
出題者の意図をよく理解するんだ。
555デフォルトの名無しさん
2022/07/27(水) 02:22:17.13ID:kUpgZ120 >>553
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
それがこの状態だとまだ出来ていませんか?
その関数はintとはまた別なのですか?
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
それがこの状態だとまだ出来ていませんか?
その関数はintとはまた別なのですか?
556デフォルトの名無しさん
2022/07/27(水) 02:23:41.61ID:kUpgZ120 >>554
基礎レベルなので多分それは大丈夫だと思います
基礎レベルなので多分それは大丈夫だと思います
557アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:24:32.42ID:LZk+uw73 inp1 = Label1.Text
の左辺は整数変数。右辺は文字列。
型の不一致。
inp1 = CStr(Int(Rnd() * 99))
の左辺は整数変数。右辺はCStrの値なので文字列。
型の不一致。
の左辺は整数変数。右辺は文字列。
型の不一致。
inp1 = CStr(Int(Rnd() * 99))
の左辺は整数変数。右辺はCStrの値なので文字列。
型の不一致。
558アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:26:47.85ID:LZk+uw73 CIntかValを使えば文字列を数値に変換できる。
559アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:29:56.55ID:LZk+uw73 あとはいくつかのIf文で差を比較し、場合分けして得点表示.Text に適当な文字列を代入すればいい。
560デフォルトの名無しさん
2022/07/27(水) 02:32:21.15ID:hUPssU1v >>558
inp1 = Val(Int(Rnd() * 99))
Label1.Text = CStr(inp1)
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
こういうことですか?
inp1 = Val(Int(Rnd() * 99))
Label1.Text = CStr(inp1)
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
こういうことですか?
561アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:33:05.88ID:LZk+uw73 絶対値を求める関数はAbs
562デフォルトの名無しさん
2022/07/27(水) 02:36:13.30ID:hUPssU1v >>561
Absは宣言されていないと出てしまいます
Absは宣言されていないと出てしまいます
563アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:37:16.50ID:LZk+uw73 System.Math.Abs
564デフォルトの名無しさん
2022/07/27(水) 02:41:06.00ID:QfftK3Ne >>563
すみませんそれだけ書かれてもよくわかりません
すみませんそれだけ書かれてもよくわかりません
565アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:41:25.80ID:LZk+uw73 廃止予定のVB.netを教材に使うなんて学校はひどいことをしますなあ。
566アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:43:48.59ID:LZk+uw73 inp3 = System.Math.Abs(inp1 - inp2)
567デフォルトの名無しさん
2022/07/27(水) 02:46:02.40ID:mBvV44nn >>566
ありがとうございます
ありがとうございます
568デフォルトの名無しさん
2022/07/27(水) 02:48:16.34ID:mBvV44nn これで前提条件は完成ということで大丈夫なのでしょうか?
569アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:51:54.76ID:LZk+uw73570デフォルトの名無しさん
2022/07/27(水) 02:57:24.54ID:AEbD6U5/ >>569
エラーは出ませんでした
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 > inp2 Then
Label2.Text = "10点"
ElseIf inp1 < inp2 Then
Label2.Text = "5点"
End If
下はこのようなコードなのですがtextboxに何も入力せずにボタンを押すと10点と出てしまいます
また比較の段階ではinpは既にvalで数値化しているのでvalをつけなくても問題ないという認識で間違っていないでしょうか?
エラーは出ませんでした
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 > inp2 Then
Label2.Text = "10点"
ElseIf inp1 < inp2 Then
Label2.Text = "5点"
End If
下はこのようなコードなのですがtextboxに何も入力せずにボタンを押すと10点と出てしまいます
また比較の段階ではinpは既にvalで数値化しているのでvalをつけなくても問題ないという認識で間違っていないでしょうか?
571アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 02:58:18.78ID:LZk+uw73 ※実行結果が間違いかどうか判定するのは、初心者なら自分自身だが、上級者はテストを自動化できる。
572アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:01:09.00ID:LZk+uw73 テキストボックスに何も入れない、ということは.Textが空文字列になる。空文字列をValに渡すとどうなるか?
空文字列かどうか判定する必要があるかも知れない。
空文字列かどうか判定する必要があるかも知れない。
573アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:02:49.33ID:LZk+uw73 数値化しているものを数値化するとは意味をなさない。
574アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:05:17.77ID:LZk+uw73 2つの数値の差がinp3だろ?
575デフォルトの名無しさん
2022/07/27(水) 03:10:08.15ID:jODmrfct >>574
はい
はい
577デフォルトの名無しさん
2022/07/27(水) 03:11:50.99ID:jODmrfct 自動でデバッグが必要ということもわかるのですが
まず 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
が上手く書けなくて困っています
まず 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
が上手く書けなくて困っています
578アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:13:29.52ID:LZk+uw73 そういうときに便利な「数直線」。
数直線を紙に書いて、場合分けを考える。
数直線を紙に書いて、場合分けを考える。
579アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:15:18.50ID:LZk+uw73 絶対値は常にゼロより大きいのでカンタンだね。
580アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:17:08.97ID:LZk+uw73 *絶対値は常にゼロ以上なのでカンタンだね。
581アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:19:32.96ID:LZk+uw73 If文に複数の条件式を指定したい場合は、AndかOrを使って条件式をつなげる。
582デフォルトの名無しさん
2022/07/27(水) 03:19:51.93ID:yKrJTn5K >>580
正直遠回しに言われても理解できないので
どこを直したらいいのか直接的に教えてもらえませんか?
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 <> inp2 And inp3 = 10 Then
Label2.Text = "10点"
ElseIf inp1 <> inp2 Then
Label2.Text = "5点"
ElseIf inp1 <> inp2 Then
Label2.Text = "0点"
正直遠回しに言われても理解できないので
どこを直したらいいのか直接的に教えてもらえませんか?
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 <> inp2 And inp3 = 10 Then
Label2.Text = "10点"
ElseIf inp1 <> inp2 Then
Label2.Text = "5点"
ElseIf inp1 <> inp2 Then
Label2.Text = "0点"
583デフォルトの名無しさん
2022/07/27(水) 03:20:32.16ID:yKrJTn5K >>581
それはわかります
それはわかります
584アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:25:42.03ID:LZk+uw73 答えだけ教えたら勉強にならないでしょう。
2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示
→
ElseIf Inp3 <= 10 Then
10 点をフォーム上に表示。
2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示
→
ElseIf 10 < Inp3 And Inp3 < 20 Then
5点をフォーム上に表示
2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
→
ElseIf 20 <= Inp3 Then
0 点をフォーム上に表示
2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示
→
ElseIf Inp3 <= 10 Then
10 点をフォーム上に表示。
2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示
→
ElseIf 10 < Inp3 And Inp3 < 20 Then
5点をフォーム上に表示
2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
→
ElseIf 20 <= Inp3 Then
0 点をフォーム上に表示
585アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:27:25.65ID:LZk+uw73 最後に
End If
End If
586アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:29:58.17ID:LZk+uw73 フォームに表示が共通しているから、数値の差から得点を返す関数を作れば、コードが合理的になる。
587デフォルトの名無しさん
2022/07/27(水) 03:31:50.09ID:yKrJTn5K >>584
ありがとうございます
ありがとうございます
588デフォルトの名無しさん
2022/07/27(水) 03:33:08.65ID:yKrJTn5K >>586
なるほど
なるほど
589アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:37:40.83ID:LZk+uw73 時間があったら、その得点判定関数の単体テスト用の関数を書いてみろよ。
いくつかの使用例を想定して、2つの数値と得点数の組を記述するんだよ。
いくつかの使用例を想定して、2つの数値と得点数の組を記述するんだよ。
590デフォルトの名無しさん
2022/07/27(水) 03:41:16.49ID:yKrJTn5K591アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 03:47:12.89ID:LZk+uw73 >>590
サイバー世界に夜はない。人助けをしないとここから脱出できないものでな。しかたなくやってるだけさ。
サイバー世界に夜はない。人助けをしないとここから脱出できないものでな。しかたなくやってるだけさ。
592デフォルトの名無しさん
2022/07/27(水) 03:56:10.31ID:OAxBWYWr どんな脱出ゲームなんだよw
593デフォルトの名無しさん
2022/07/27(水) 16:11:49.73ID:zAtculQV 単体テストをmockitoを使って書いてますが、一時的なオブジェクトをモックするには
どうしたらいいでしょうか。例えば以下のようなmethod1()をテストするとき
Obj2 method1() {
Obj1 obj1 = mendo_na_shori();
return betsu_no_shori(obj1.hoge());
}
mendo_na_shori()は外部APIを呼ばないといけない、あとobj1の初期化にも深入りしたくない
ので、obj1.hoge()が適当な値を返すようにモックしたいのですが
betsu_no_shori()だけテストすればいいようにも見えてしまいますが、例がうまくないということで
どうしたらいいでしょうか。例えば以下のようなmethod1()をテストするとき
Obj2 method1() {
Obj1 obj1 = mendo_na_shori();
return betsu_no_shori(obj1.hoge());
}
mendo_na_shori()は外部APIを呼ばないといけない、あとobj1の初期化にも深入りしたくない
ので、obj1.hoge()が適当な値を返すようにモックしたいのですが
betsu_no_shori()だけテストすればいいようにも見えてしまいますが、例がうまくないということで
594デフォルトの名無しさん
2022/07/27(水) 16:29:49.90ID:sRAKzK8I595デフォルトの名無しさん
2022/07/27(水) 16:35:46.22ID:zAtculQV >>594
なるほど、なんだかテストのためにデザインを変えるようで躊躇していたのですが
むしろそれがいいデザインだったりするということでしょうか
あるいは「テストしやすい」ということを良いデザインの1要件として考えるということでしょうか
なるほど、なんだかテストのためにデザインを変えるようで躊躇していたのですが
むしろそれがいいデザインだったりするということでしょうか
あるいは「テストしやすい」ということを良いデザインの1要件として考えるということでしょうか
596デフォルトの名無しさん
2022/07/27(水) 17:17:41.95ID:sRAKzK8I597デフォルトの名無しさん
2022/07/27(水) 17:53:16.59ID:nrHcrDPL API作る費用がないから他の会社が作ったシステムのリードレプリカDB見てデータを取ってこいって流れになってるからなんとか阻止したいのですが、有名なアンチパターンとか何かないですかね?
598デフォルトの名無しさん
2022/07/27(水) 18:51:26.26ID:5n9aUkym 久々にプログラミング復帰しようとして色々ソース見ようと思ったんだけど
昔存在したkodersとかGoogle Code Searchみたいなソースコード検索エンジンってない?
昔存在したkodersとかGoogle Code Searchみたいなソースコード検索エンジンってない?
599デフォルトの名無しさん
2022/07/27(水) 18:53:20.17ID:RFLOe/ZA >>593
セオリーで言うとmethod1が含まれてるクラスのコンストラクタに
mendo_na_shori()を含むクラスのインスタンスを渡す形にしてそいつをモックする
method1がobj1を受け取る形にしたほうがいいかどうかは
純粋にmethod1の責務から考えたほうがいい
セオリーで言うとmethod1が含まれてるクラスのコンストラクタに
mendo_na_shori()を含むクラスのインスタンスを渡す形にしてそいつをモックする
method1がobj1を受け取る形にしたほうがいいかどうかは
純粋にmethod1の責務から考えたほうがいい
600アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 19:24:01.19ID:LZk+uw73601デフォルトの名無しさん
2022/07/27(水) 19:32:17.60ID:5n9aUkym602デフォルトの名無しさん
2022/07/27(水) 20:48:10.95ID:8I1dQN/H VSCodeでターミナルに文字が流れて行く時に画面がちらちらするんだけど
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
603デフォルトの名無しさん
2022/07/27(水) 20:48:27.26ID:8I1dQN/H VSCodeでターミナルに文字が流れて行く時に画面がちらちらするんだけど
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
604デフォルトの名無しさん
2022/07/27(水) 20:51:57.34ID:rf18Rv/q 2回書いたので失格
605デフォルトの名無しさん
2022/07/27(水) 21:08:44.11ID:8I1dQN/H VSCodeでターミナルに文字が流れて行く時に画面がちらちらするんだけど
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
何が悪いのかな
argv.jsonの disable-hardware-accelarationはtrueにした
606デフォルトの名無しさん
2022/07/27(水) 21:09:20.89ID:8I1dQN/H 書き込めませんでしたというメッセージを出すmateが悪い
607アリ人間 ◆T6xkBnTXz7B0
2022/07/27(水) 21:09:43.67ID:LZk+uw73 3回書いたので、敗者復活(ぴろぴらぴろ~ん
608デフォルトの名無しさん
2022/07/27(水) 21:17:11.63ID:E+Dd+vMH 専ブラで書込失敗したら本当に失敗したか汎ブラで確認するだろ普通は
自分は悪くないとか言ってるとダメだよ
自分は悪くないとか言ってるとダメだよ
609デフォルトの名無しさん
2022/07/28(木) 02:37:06.41ID:RAA7k8hU ポート番号7番でうけるエコーサーバーのソースコードを
調べたいのですが、githubのどこにあるのでしょうか?
bsd,linuxどちらでも構いません
回答よろしくおねがいします
調べたいのですが、githubのどこにあるのでしょうか?
bsd,linuxどちらでも構いません
回答よろしくおねがいします
610デフォルトの名無しさん
2022/07/28(木) 08:36:13.31ID:ktot2FQ5 >>609
echoサービスってあったなあ。あれはinetd自体がやってたはず
なのでinetdもしくはxinetdのソースを探すべし
ソケットプログラミングとか知ってたらすんごい当たり前のことしかやってないと思うけど
echoサービスってあったなあ。あれはinetd自体がやってたはず
なのでinetdもしくはxinetdのソースを探すべし
ソケットプログラミングとか知ってたらすんごい当たり前のことしかやってないと思うけど
611デフォルトの名無しさん
2022/07/28(木) 09:49:49.09ID:m+r+vKYc■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【独占スクープ】元TOKIOの松岡昌宏がSTARTO社を“退所”へ「国分のコンプライアンス違反」問題をきっかけに決断、12月から単独で活動 [Ailuropoda melanoleuca★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 ★2 [ぐれ★]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- VIPでアズールレーン
- 「▇▇▇▇▇▇▇®」 ビゴーーーン
- 中国専門家の興梠一郎先生「実は中国が一番焦ってるのが総領事の暴言だ。中国は今かなり追い詰められている」 [904151406]
- 【悲報】グーグル、すべてを過去にするジェミニ3発表で株価最高値へ [733893279]
- するってぇと何かい?2週間前に安全を確認して輸入再開した海産物を食の安全のために輸入停止にしたってのかい?
