Найдена таблица http://phrogz.net/programmingruby/language.html#table_18.4, но невозможно найти описание для |=
|=
Как работает оператор присваивания |=?
Побитовое ИЛИ присваивание.
x |= y
- это сокращение для:
x = x | y
(точно так же, как x += y - сокращение для x = x + y).
x += y
x = x + y
При работе с массивами | = полезно для уникального добавления в массив.
>> x = [1,2,3] >> y = [3,4,5] >> x |= y >> x => [1, 2, 3, 4, 5]
За исключением ||= и &&=, которые имеют особую семантику, все составные операторы присваивания переводятся согласно этому простому правилу:
||=
&&=
a ω= b
совпадает с
a = a ω b
Таким образом,
a |= b
a = a | b
Он указан в указанной вами ссылке. Это назначение в сочетании с побитовым ИЛИ. Это эквивалентно:
a = a | b a |= b