我阅读(在文档中)如何将一个数组的字符串与另一个字符串连接起来:
a = [ "a", "b", "c", "d" ]
a.collect! {|x| x + "!" }
a #=> [ "a!", "b!", "c!", "d!" ]
但我还没想到的是如何将2个数组的字符串连接成一个。例如:
field_suffix = %w[prev curr]
field_names = %w[_first_name _last_name]
我希望看到的是:
["prev_first_name", "curr_first_name", "prev_last_name", "curr_last_name"]
订单无关紧要。它可能是:
["prev_first_name", "prev_last_name", "curr_first_name", "curr_last_name"]
答案 0 :(得分:3)
field_suffix.product(field_names).map(&:join)
答案 1 :(得分:1)
我会这样做:
out=[]
pre=["sub", "pre"]
suf=["less", "ness"]
pre.each do |p|
suf.each do |s|
out.push(p+s)
end
end
puts out
或者在更少的行中:
out=[]
pre=["sub", "pre"]
suf=["less", "ness"]
pre.each{|p| suf.each{|s| out.push(p+s)}}
这不会返回数组(遗憾的是),你必须拥有第二个数组; out
这将是一个失业,次要,无助,虚伪
答案 2 :(得分:1)
这是:
field_suffix = %w[prev curr]
field_names = %w[_first_name _last_name]
result = field_suffix.product(field_names).collect {|suffix, name| suffix + name}
有关详细信息,请参阅Array#product