Список операторов ruby, которые могут быть переопределены / реализованы
Есть ли где-нибудь список всех операторов ruby, которые можно переопределить? (Не те, которые не могут!)
1 ответ
Решение
Те, которые являются методами и перегружаемыми:
[ ] [ ]= Element reference, element set
** Exponentiation
! ~ + - Not, complement, unary plus and minus (method names for the last two are +@ and -@)
* / % Multiply, divide, and modulo
+ - Plus and minus
>> << Right and left shift
& Bitwise `and'
^ | Bitwise exclusive `or' and regular `or'
<= < > >= Comparison operators
<=> == === != =~ !~ Equality and pattern match operators (!= and !~ may not be defined as methods)
Таблица была взята из книги Pickaxe 2001 года, но это та же таблица, что и в книге Pickaxe Ruby 1.9 - нет оснований полагать, что этот набор инфиксных операторов когда-либо изменится.