Покажите мне окончательную, пересмотренную/поддерживаемую таблицу приоритетов Ruby (операторов, неоператоров и модификаторов).
На протяжении многих лет мне приходилось полагаться на следующие источники для этой информации:
1. http://phrogz.net/programmingruby/language.html#table_18.4 - Книга Pickaxe, в которой содержится документ Ruby 1.6
, который был выпущен в Сентябрь 2000 года и включает в себя ошибку форматирования или опечатку ({
указан как оператор присваивания).
2. http://www.techotopia.com/index.php/Ruby_Operator_Precedence - ближайшая копия вышеупомянутой таблицы Pickaxe, включая ошибочный {
, и случайно описывает ||
как логический "AND".
3. http://www.tutorialspoint.com/ruby/ruby_operators.htm - также ближайшая копия таблицы Pickaxe, хотя она исправляет описание ||
в логический 'OR', но он все еще отображает {
как оператор присваивания. Кроме того, он перечисляет ::
и неправильно описывает его как оператор с постоянным разрешением (::
не является оператором).
4. http://my.safaribooksonline.com/book/web-development/ruby/9780596516178/expressions-and-operators/operators - Книга языка программирования Ruby, в которой указаны Ruby 1.8
и 1.9
, которые были выпущены в августе 2003 года и декабре 2007 года, соответственно. Эта книга была опубликована в 2008 году Дэвидом Фланаганом и Юкихиро Мацумото (он же "Мац", изобретателем Ruby). Кажется, это самый современный и точный список операторов, не-операторов, модификаторов и вспомогательной информации. Кстати, около 2005 года интерес к Ruby вырос в тандеме с Rails, который был выпущен в июле 2004 года.
5. http://romhack.wikia.com/wiki/Ruby_operators - также операторы документов в Ruby 1.9
и включают в себя не-операторы и модификаторы в своей таблице.
Ruby 2.0
был выпущен в феврале 2013 года и был полностью совместим с Ruby 1.9.3
. Из немногих известных несовместимостей ни одна из них не связана с операторами.
Ruby 2.1.0
был выпущен в Рождество в 2013
, и аналогичным образом не указаны никакие операционные несовместимости.
Таким образом, я решил включить ответ, основанный на книге Фланагана/Маца, и сделал его вики-сообществом.