Дополнительное преимущество, которое я не вижу в ответах здесь, заключается в том, что синтаксис для назначения основан на арифметике.
Теперь x = y = b = c = 2 + 3
означает что-то другое в арифметике, чем язык C-стиля ; в арифметике его утверждение, state , что x равно y и т. д., а в языке C-стиля это инструкция, которая делает x равным y и т. д. после нее .
Это говорит о том, что между арифметикой и кодом все еще существует достаточная связь, которая не имеет смысла отрицать, что естественно в арифметике, если нет веской причины. (Другое дело, что языки C-стиля, взятые из использования символа равенства, - это использование == для сравнения равенства. Здесь, хотя, поскольку right-most == возвращает значение, такая цепочка будет невозможна.)