Rubyで配列から2行2列の要素を結合する最もエレガントな方法は何ですか?
例:配列に参加したい:
ar = ['1', '2', '3', '4', '5']
取得します
ar = [ '12', '34', '5' ]
手伝ってくれてありがとう
Rubyで配列から2行2列の要素を結合する最もエレガントな方法は何ですか?
例:配列に参加したい:
ar = ['1', '2', '3', '4', '5']
取得します
ar = [ '12', '34', '5' ]
手伝ってくれてありがとう
いつものように、Enumerableはあなたの良い友達であり、あなたの生活を楽にしたいと思っています。
ar.each_slice(2).map(&:join)
唯一のトリックは、のブロックレス形式を使用して、スライスを結合each_slice
できる列挙子を取得することです。map
私はエレガントについては知りませんが、これは私がちょうど泡立てたものです:
ar.each_slice(2).map { |x, y| "#{x}#{y}" }
にブロックを指定する必要はありませんeach_slice
。列挙子を返すだけです。したがって、それを呼び出しmap
て、各スライスの2つの部分を渡し、素敵な新しい配列を返すことができます。