在Ruby中预先挂起数组中的每个元素

cod*_*ver 5 ruby jruby data-structures

有没有办法用一些东西预先添加数组的每个元素.

例如:

file = File.new(my_file,'r')

header = IO.readlines(my_file)[1]  # header looks like [1,2,3]
#Prepend each elelement of header with filename, something like
header.prepend(filename+".")     #header looks like [filename.1,filename.2,filename.3]
Run Code Online (Sandbox Code Playgroud)

bke*_*ner 16

你想用map:

["foo", "bar", "baz"].map { |word| "prepend-#{word}" }
#=> ["prepend-foo", "prepend-bar", "prepend-baz"]
Run Code Online (Sandbox Code Playgroud)

这种方法的经典案例.此方法还可以采用包含任何类型元素的数组.