Я пытаюсь вычислить выражение (a=10) || (rr=20)
, пока переменная rr не определена
, поэтому набрав rr
в консоли ruby, прежде чем вычислять предыдущее выражение, вы получите
rr
NameError: undefined local variable or method `rr' for main:Object
from (irb):1
from :0
Когда я пишу выражение (a=10) || (rr=20)
, оно возвращает 10, а когда я пишу rr впоследствии, оно говорит: nil
(a=10) || (rr=20)
rr # => nil
Итак, почему это происходит?Не следует определять rr, только если второй аргумент ||оператор оценивается, который никогда не должен основываться на документации?