配列基礎レベル
次のプログラムを実行すると何が表示されますか?
arr = [1, 2].product([3, 4]) p arr
- 1[[1, 3], [2, 4]]
- 2[[1, 3], [1, 4], [2, 3], [2, 4]]
- 3[1, 2, 3, 4]
- 4[3, 4]
解説
Array#product は、2つの配列から取り得るすべての組み合わせを配列として返します。[1, 2] の各要素に対して [3, 4] の各要素を組み合わせるため、結果は [[1, 3], [1, 4], [2, 3], [2, 4]] です。位置ごとにペアにしたい場合は product ではなく zip を使います。