1

尝试使用迭代方法时,我不断收到错误。这是一种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).

在此处输入图像描述

4

1 回答 1

3

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

def initialize
  @random_size = rand(3..12)
  @new_arr = @random_size.times.map { rand(1..50) }
end
于 2013-08-23T22:14:58.907 回答