ついつい存在自体を忘れてしまうzipメソッド。
イメージで覚えてすぐに思い出せるようにしよう。
メソッドの詳細
使い方は下記リンクを参考にしてください。
Array#zip(公式リファレンス)
考え方
上の画像を逆さまにしたものをイメージしてください。
解説
まずは実行結果のサンブル。
sample.rb
a1 = [1,2,3]
a2 = [4,5]
a3 = [6,7,8,9]
a1.zip(a2,a3)
# > [[1, 4, 6], [2, 5, 7], [3, nil, 8]]
oh,ムズカシイネ
1.配列をジッパーの歯(zip teeth)と見立てる
配列を
縦に並べて
zip teeth
普通のArray
a1 = [1,2,3]
縦版Array
a1
‖
冖
1
,
2
,
3
凵
この調子で全部縦にすると.....
a1 = [1,2,3]
a2 = [4,5]
a3 = [6,7,8,9]
↓↓↓↓↓↓↓↓↓↓
a1 a2 a3
‖ ‖ ‖
冖 冖 冖
1 4 6
, , ,
2 5 7
, ,
3 8
凵 凵 ,
9
凵
案外見やすいですね。
2.上から下にジッパーを閉める
[
[1,4,6]
[2,5,7]
[3,nil,8]
]
zip teathが噛み合いました。
もう外せそうにありません。
むすびのことば
命名大事だと思えました。