随机创建对象ruby

时间:2017-01-15 20:37:17

标签: arrays ruby random

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

我正在尝试初始化另一个文件中定义的Orange类。现在我有一个新对象被铲入一个空数组。我想在100到300之间创建一个随机数。到目前为止,我已经尝试了

harvested_oranges = Orange.new(rand(100.300))

但我收到一个错误,告诉我Orange.new正在进行争论,并且不应该......不一定是正确的计划......任何帮助都会很棒!

2 个答案:

答案 0 :(得分:3)

怎么样:

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

答案 1 :(得分:0)

您需要先创建一个随机数并将其存储在变量中。然后在for循环中使用该变量,每次循环运行时都会继续执行harvested_oranges << Orange.new事件。