Array#&で集合の積

配列同士の & をとると、集合の積になります。refe "Array#&" 参照。
以下では2の倍数twosと3の倍数threesの積をとって、6の倍数を得ています。

twos = []
threes = []
(0..10).each do |k|
  twos << 2 * k
  threes << 3 * k
end
p twos          #=> [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
p threes        #=> [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
p twos & threes #=> [0, 6, 12, 18]