1

Rubyで配列から2行2列の要素を結合する最もエレガントな方法は何ですか?

例:配列に参加したい:

ar = ['1', '2', '3', '4', '5']

取得します

ar = [ '12', '34', '5' ]

手伝ってくれてありがとう

4

2 に答える 2

7

いつものように、Enumerableはあなたの良い友達であり、あなたの生活を楽にしたいと思っています。

ar.each_slice(2).map(&:join)

唯一のトリックは、のブロックレス形式を使用して、スライスを結合each_sliceできる列挙子を取得することです。map

于 2012-08-16T23:27:13.057 に答える
1

私はエレガントについては知りませんが、これは私がちょうど泡立てたものです:

ar.each_slice(2).map { |x, y| "#{x}#{y}" }

にブロックを指定する必要はありませんeach_slice。列挙子を返すだけです。したがって、それを呼び出しmapて、各スライスの2つの部分を渡し、素敵な新しい配列を返すことができます。

于 2012-08-16T23:32:45.857 に答える