ruby - 创建一个固定大小的数组,并用另一个数组填充默认内容?

标签 ruby arrays

我想创建一个固定大小的数组,其中默认数量的元素已经从另一个数组中填充,所以假设我有这个方法:

def fixed_array(size, other)
  array = Array.new(size)
  other.each_with_index { |x, i| array[i] = x }
  array
end

那么我可以使用如下方法:

fixed_array(5, [1, 2, 3])

我会得到

[1, 2, 3, nil, nil]

在 ruby​​ 中有更简单的方法吗?就像用 nil 对象扩展我已有的数组的当前大小一样?

最佳答案

def fixed_array(size, other)  
   Array.new(size) { |i| other[i] }
end
fixed_array(5, [1, 2, 3])
# => [1, 2, 3, nil, nil]

关于ruby - 创建一个固定大小的数组,并用另一个数组填充默认内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16830956/

相关文章:

ios - 刷卡中的数组获取第一个元素

arrays - Jekyll forloop.last --> 最后一个?

ruby - 是否可以在不先获取远程 git repo 信息的情况下获取它?

ruby - Ruby 中的单例模式与单态模式

ruby-on-rails - Rails Girls Guides 使用 Devise 添加身份验证的问题

ruby-on-rails - 如何在 Ruby on Rails 中输出层次列表

java - Camera 对象上的 setOneShotPreviewCallback(),预览图像的裁剪版本

javascript - 点击次数不计入索引

ruby - 如何在路由中使用 Sinatra URL 作为参数?

java - JOptionPane 解析数组