Ответ 1
В Ruby "операторы" - это фактически вызовы методов. Они определяются каждым классом.
1 и 2 являются Fixnum, поэтому в 1|2
труба имеет "поразрядный" или "."
Я новичок в ruby, и я увидел этот фрагмент кода
1|2
и он возвращает 3
Что делает оператор |
на самом деле? Кажется, я не мог найти документацию. Кроме того, в этом контексте он упоминается как оператор "трубы"? или это называется чем-то еще?
В Ruby "операторы" - это фактически вызовы методов. Они определяются каждым классом.
1 и 2 являются Fixnum, поэтому в 1|2
труба имеет "поразрядный" или "."
Это побитовый оператор, и они работают непосредственно с двоичным представлением значения.
|
означает OR. Позвольте мне показать вам, как это работает.
1|2 = 3
что происходит под капюшонами:
1 = 0001
2 = 0010
--------
3 = 0011 <- result
другой пример:
10|2 = 10
теперь в двоичном формате:
10 = 1010
2 = 0010
--------
10 = 1010 <- result
Это побитовый или оператор.
http://www.java2s.com/Code/Ruby/Language-Basics/dobitwiseoperationsinRuby.htm