我想用1个元素填充一个数组,但要填充5次.

number = 1234
a = []

5.times { a << number }
puts a # => 1234, 1234, 1234, 1234, 1234

它可以工作,但这感觉不是Ruby 的方式.

推荐答案

对于不可变的对象,如fixNum等

Array.new(5, 1234) # Assigns the given instance to each item
# => [1234, 1234, 1234, 1234, 1234]

对于字符串数组等可变对象

Array.new(5) { "Lorem" } # Calls block for each item
# => ["Lorem", "Lorem", "Lorem", "Lorem", "Lorem"]

Ruby相关问答推荐

Ruby脚本递归地创建深度嵌套的目录

定义Struct时如何指定成员的类型?

Ruby:一个方法可以返回不同类型的对象吗?

Rb:仅通过在 Ruby 中的类上添加 each 方法,可枚举模块是如何工作的?

Ruby 中的内联注释

为什么 slurping文件不是一个好习惯?

如何在 Ruby 中合并多个哈希?

将一个目录的内容复制到另一个目录

如何正确截断表格?

jekyll 调试或打印所有变量

在 ruby​​ 中访问嵌套哈希的元素

C# ?? Ruby 中的运算符?

RSpec:每次指定对具有不同参数的方法的多次调用

如何在不等式中使用Ruby case ... when?

如何在 Mac OS X Lion 中安装 Ruby 1.9.3?

Mustache Templates 可以做模板扩展吗?

Ruby 中的=~运算符是什么?

判断整数是否在范围内

何时使用在 Ruby 中启动子进程的每种方法

如何删除已安装的 ri 和 rdoc?