<ruby>でモンティ・ホール問題のシミュレーションをしようとしています。
ネット上のコードを参考に完成はしたのですが、一部理解できない所があり質問しました。
コード-------------
1 print "試行回数を入力:"
2 $n = gets.chomp.to_i
3
4 def choice(and_choice)
5 doors = [true, false, false] #ドアの生成
6 choice_me = rand(3) #自分が選ぶ
7 if choice_me == 0 or choice_me == 1 #モンティーが選ぶ
8 choice_monty = 2
9 else
10 choice_monty = 1
11 end
12
13 if and_choice #ドアを変えますか?
14 doors.delete_at(choice_monty) #モンティーの開けたドアを消す
15 if choice_me == 0 #ドアを変える
16 re_choice_me = 1
17 else
18 re_choice_me = 0
19 end
20 doors[re_choice_me]
21 else
22 doors[choice_me] #ドアを変えない
23 end
24 end
25
26 def simu(and_choice)
27 i = 0
28 $n.times {i += 1 if choice(and_choice) }
29 i.to_f / $n
30 end
31
32 puts simu(false)
33 puts simu(true)
28行目の文の構造が分かりません
おそらく[ i ]がtrueとfalseの2つ存在すると思うのですが、なぜそのようなことが可能なのか分かりません
わかる方がいれば教えてくださいm__m
もしくは、どのようなワードで調べれば出てくるでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/22 04:10