Ruby迭代错误

时间:2013-08-23 22:05:15

标签: ruby arrays iterator

尝试使用迭代方法时,我不断收到错误。这是一个initialize方法,可以创建一个随机整数填充的随机大小的数组。任何帮助表示赞赏。

 def initialize
   i = 0
   @random_size = rand(3-12)
   @new_arr = Array.new(@random_size)
   loop do
     @new_arr[i] = rand(1..50)
     break if i >= @random_size
     i += 1
   end
 end

<小时/> 的修改 原始问题如下所示。请注意rand(3-12)

enter image description here

1 个答案:

答案 0 :(得分:3)

在Ruby(以及任何具有某些功能的语言)中,您通常不会编写显式索引,这太过于必要(而且冗长)。功能方法看起来像这样:

def initialize
  @random_size = rand(3..12)
  @new_arr = @random_size.times.map { rand(1..50) }
end