以下のコードでは、コインを反転して合計10個のヘッドまたはテールの結果を出力します。配列内で使用する変数に出力を格納する
(例えば頭尾は尾をヘッズ...)
私は配列にそれを置くと、その文字列を使用することができます変数にこれを保管したいと思います。
%w [act]は、文字列 "act"のみを出力します。どのようにして行の文字列配列を出力するコード行を得ることができますact = coin.flip?
を更新して配列にact
結果を入れ
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
@トニー:あなたの 'flip'実装を単に' rand(2).even 'で置き換えることができますか? 「頭」:「テールズ」(または同様のさまざまなもの)も同様です。また、毎回新しいコインを作成する必要はありません。状態がないので、あなたは 'c = Coin.new; a = 10×collect {c.flip} '。 –
素晴らしいです。 rand(2).even ?? 'Heads': 'Tails'はコードを大幅に短縮し、実際に動作します。 – Tony