Я удивлен особой чувствительностью к синтаксису в Ruby. Все они работают:Вызов вызова вложенного назначения и без привязки Ruby
var = method arg
var2 = (var1 = method arg)
method2(method1 arg)
Но это не делает:
method2(var = method1 arg)
Вместо этого я должен сделать что-либо в этом, с дополнительными скобках:
method2(var = method1(arg))
..or это, что я найти гораздо более неоднозначную, чем версия, которая не срабатывает:
method2 var = method1(arg)
Я предполагаю, что это либо конкретное дизайнерское решение, либо побочный эффект другого, и будет признателен за любое понимание этих решений.
Обратите внимание, что я не ищу никаких мнений о стиле; Я не спрашиваю, что выглядит лучше, или то, что вы думаете, должно или не должно работать. Я даже укажу, что эта конкретная конструкция была бы более ясной, если бы полностью разделилась на два отдельных заявления. Мне просто интересно узнать о реальных причинах, по которым Ruby работает таким образом, от любого, у кого может быть эта справочная информация.
Что это за старая поговорка, только Perl может разобрать Ruby? Или что-то в этом роде ... –
@ JörgWMittag - поскольку никто, кажется, не имеет более глубокого понимания, пожалуйста, отправьте свой комментарий в качестве ответа, и я его приму. –