Это необычный случай, но я думаю, что вы видите, как Руби интерпретирует это как несколько последовательных утверждений , а не как одно утверждение.Как он видит это как:
x # Statement 1
-100 # Statement 2
Где результат этого блока кода -100
.
В случае zot
вы выразили намерение продолжитьна следующей строке имеется висячий двоичный оператор -
:
x - # Statement 1
100 # Statement 1 (cont)
Стоит отметить, что этого нельзя делать при вызове метода:
zot(x
-100 # Syntax error
)
Как вв этом случае правила синтаксиса аргументов намного строже.Внутри структуры (...)
свободной формы у вас значительно больше широты.