しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Rubyの配列のzipメソッドを使ってみる

Rubyの配列にはzipというメソッドがあって、それを使うと2つの配列をつなげる事ができます。

[1, 2, 3].zip([2, 3, 4]) # → [[1, 2], [2, 3], [3, 4]]

引数の要素数が少ない場合、そこにはnilが入ります。

[1, 2, 3].zip([2, 3]) # → [[1, 2], [2, 3], [3, nil]]

逆に引数の方が要素が多い場合はレシーバの数に合わせられます

[1, 2].zip([2, 3, 4]) # → [[1, 2], [2, 3]]

CSVのヘッダーと要素のハッシュを取得する時などに使えたりします。

header = ["id", "name"]
body = [1, "名前"]
Hash[header.zip(body)] # → {"id"=>1, "name"=>"名前"}