2015-04-28 296 views
0

我有波紋管[原文]兩個數組:如何添加一個數組的第一個元素到另一個數組的第一個元素

first_name = ["prabhu" ,"raghu" , "satish"] 
second_name = ["chaitanya", "varma", "venkey"] 

我想打印輸出如下:

full_name = ["prabhu chaitanya","raghu varma", "satish venkey"] 
+0

如果你可以修改'second_name',你可以這樣做(但使用'zip'是明顯的,你應該使用什麼):'first_name.map {| f | 「#{f}#{second_name.shift}」}'。 –

回答

4

你可以嘗試以下方法:

first_name.zip(second_name).map{ |x| x.join(' ')} 
+1

謝謝你差不多@notulysses。 –

+0

@PrabhuChaitanyavarma:不客氣 – potashin

3
[first_name, second_name].transpose.map{|a| a.join(" ")} 
+1

我喜歡這種方法。我用'zip'方法嘗試不知道'transonse'是可能的。薩瓦,你很棒。你的答案總是獨一無二的,讓我每次都能學到新的技巧。我是你的粉絲;) –

0
first_name.zip(second_name).map { |f, l| "#{f} #{l}" } 
=> ["prabhu chaitanya", "raghu varma", "satish venkey"] 

或者:

first_name.zip([" "].cycle, second_name).map(&:join) 
=> ["prabhu chaitanya", "raghu varma", "satish venkey"] 
2

你也可以試試這個:

full_name = []; 
first_name.each_with_index {|x, i| x + second_name[i]} 
相關問題