下面我的代碼的片段翻轉硬幣並輸出10個總正面或反面的結果。將輸出存儲到陣列中使用的變量
(例如元首尾巴尾巴首腦...)
我想這個存儲到一個變量,我可以把它變成一個數組,並使用其字符串。
%w [動作]只輸出字符串「act」。我怎樣才能得到這行代碼來從行act = coin.flip輸出我的字符串數組?
更新並添加全碼
class Coin
def flip
flip = 1 + rand(2)
if flip == 2
then puts "Heads"
else
puts "Tails"
end
end
end
array = []
10.times do
coin = Coin.new
array << coin.flip
end
puts array
絕對發現答案。我學到的不僅僅是尋找解決方案。非常感激! – Tony 2012-01-06 01:03:09
@Tony:你可以用'rand(2)替換你的'flip'實現。 '頭':'尾巴'(或各種類似的東西)以及。而且你不需要每次都創建一個新的Coin,沒有狀態,所以你可以'c = Coin.new; a = 10.times.collect {c.flip}'。 – 2012-01-06 01:27:37
太棒了。蘭特(2)。即便?? 「頭部」:「尾巴」將代碼縮短了很多,而且的確很有效。 – Tony 2012-01-06 01:43:33