2012-08-25 89 views
1

我讀取(在文檔中)如何連接一個陣列的琴絃用另一個字符串:級聯2個陣列的串入1個陣列

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

Array#product感謝所有的答案 - 他們都工作的偉大。我接受了JavaNut13的答案,因爲它是第一個,但我實際上回去使用了megas答案,因爲它看起來是'最性感'。我投了所有的答案,因爲他們都工作。 – purplerice

回答

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這將是subless,subness,preless,preness

+0

謝謝你的答案,不幸的是,這給了我= =「」sub「,」pre「] – purplerice

+0

看到答案,打印'出'數組 – javanut13

+0

我的壞 - 他們都工作。感謝你! – purplerice

1

這就是:

field_suffix = %w[prev curr] 
field_names = %w[_first_name _last_name] 

result = field_suffix.product(field_names).collect {|suffix, name| suffix + name} 

的細節

3
field_suffix.product(field_names).map(&:join)