1

次のような配列があるとしましょう。

[1,2,3,4,5,6,7]

この配列の最初の数を除くすべての数を 2 で乗算して、新しい配列が次のようになるようにするにはどうすればよいですか

[1,4,3,8,5,12,7]
4

2 に答える 2

4

あなたは使用することができmapますwith_index

[1,2,3,4,5,6,7].map.with_index{|v,i| i % 2 == 0 ? v : v * 2 } 
# => [1, 4, 3, 8, 5, 12, 7]
于 2013-09-26T12:06:23.860 に答える
1
[1,2,3,4,5,6,7].each_slice(2).flat_map{|k, l| [k, *(l * 2 if l)]}
# => [1, 4, 3, 8, 5, 12, 7]
于 2013-09-26T12:27:23.327 に答える