следующих результатов кода в ошибкахРубин на рельсах - Рубин Приоритет операторов - Скобки
Пример 1
if params[:id] == '2' || params.has_key? :id
abort('params id = 2 or nothing')
end
syntax error, unexpected tSYMBEG, expecting keyword_then or ';' or '\n'
if params[:id] == '2' || params.has_key? :id
Однако переключении условных операторов || добавление скобок работает на 100%.
Пример 2
if params.has_key? :id || params[:id] == '2'
abort('params id = 2 or nothing')
end
Пример 3
if (params[:id] == '2') || (params.has_key? :id)
abort('params id = 2 or nothing')
end
Может кто-нибудь объяснить мне, почему Пример 1 приведет к ошибке?
Благодаря
Спасибо за великолепное объяснение. Это полезная ссылка: http://www.techotopia.com/index.php/Ruby_Operator_Precedence –