在Ruby中创建一个数组

Yul*_*lia 1 ruby arrays

我是Ruby的初学者,可能这个问题太容易了,但是我已经花了一些时间在它上面找不到解决方案.我的Ruby脚本采用数字(ex 10)和名称(ex Vincent).我想要的是使阵列看起来像

Vincent0
Vincent1.. 
Vincent9
Run Code Online (Sandbox Code Playgroud)

我无法想办法让它成为现实.

spa*_*mat 6

def arrayfy(string, number)
  arr = []
  0.upto(number-1) do |i|
    arr << "#{string}#{i}"
  end
  return arr
end
Run Code Online (Sandbox Code Playgroud)

更新:将这些作为变量添加到类中

class Foo
  def arrayfy(string, number)
    0.upto(number-1) do |i|
      var_string = "@#{string}#{i}"
      var_symbol = var_string.to_sym
      self.instance_variable_set(var_symbol, "")
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

  • @ sparkymat..just一个建​​议..你可以使用`(0 ... number)`或`number.times`而不是`0.upto(number-1)` (2认同)