AnA*_*ice 1 ruby arrays ruby-on-rails
我正在尝试构建一个 items 数组。我正在遍历一个 CSV 文件,当我找到匹配项时,将扩展项目列表。见下面的代码:
items = Array.new
csv.each_with_index do |row,i|
items << ["a","b","c"].map {|x| row.to_s.gsub(/XXXXXXXXXX/, x.downcase)}
end
puts items.length
Run Code Online (Sandbox Code Playgroud)
这不会返回到所需的项目数组。我是否将地图的结果错误地附加到数组中?
是的,你在这里做错了:
items << ["a","b","c"].map
Run Code Online (Sandbox Code Playgroud)
项目最终会成为一个嵌套数组。这是这里发生的事情的一个例子:
arr = []
arr << [1].map { |x| x }
arr
# => [[1]]
Run Code Online (Sandbox Code Playgroud)
相反,您可以使用+=.
push如果使用 splat 运算符,也可以使用:
arr = []
arr.push *["a","b","c"].map { |x| x }
arr
# => ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3595 次 |
| 最近记录: |