2017-01-15 9 views
1
def pass_growing_season 
self.age += 1 
if self.age >= 6 
    harvested_oranges << Orange.new #NEED 100 - 300 !!! 
end 
if self.height < 25 
    self.height += 2.5 
end 
end 

別のファイルで定義されているオレンジ色のクラスを初期化しようとしています。今は空の配列にシャベルされた新しいオブジェクトが1つあります。私はこれまでのところ、私はオブジェクトをランダムな回数作成する

harvested_oranges = Orange.new(rand(100.300)) 

を試してみましたが、私はOrange.new引数を取っているとの想定されていない私に言って、エラーを取得し100と300との間の乱数それらを作成する必要があります...正しい計画ではない...どんな助けも素晴らしいだろう!

+0

[カーネル#のランド]の引数(http://ruby-doc.org/core-2.3.0/Kernel.html#method-i-rand )は、 'rand(100..300)#=> 156'の範囲であることを意図しています。範囲[Range](http://ruby-doc.org/core-2.3.0/Range.html)のインスタンスは、2つのドット(終了値を含む)または3つのドット(終了値を除く)で定義され、 。 –

答えて

3

方法に関する:ここで

harvested_oranges = Array.new(rand(100..300)) { Orange.new }

+0

素晴らしい。ありがとう。それが私が探していたものです。ありがとう –

0

まず、乱数を作成して変数に格納する必要があります。その後、そのループを実行するたびにharvested_oranges << Orange.newの処理を続けるforループでその変数を使用します。

関連する問題