У меня есть раздел об операторах в The Ruby Programming Language, и это заставило меня задуматься о ассоциативности операторов. Кстати, это не вопрос Ruby - он применим ко всем языкам.Почему разные операторы имеют различную ассоциативность?
Я знаю, что операторы должны ассоциироваться так или иначе, и я вижу, почему в некоторых случаях один из способов был бы предпочтительнее другого, но я изо всех сил стараюсь увидеть большую картину. Существуют ли некоторые критерии, которые используют разработчики языка, чтобы решить, что должно быть слева направо и что должно быть справа налево? Есть ли в некоторых случаях, когда это «имеет смысл» для того, чтобы это было одним способом над другими, и в других случаях, когда это просто произвольное решение? Или есть какой-то грандиозный дизайн за всем этим?
Спасибо. Вопрос был не в том, что касается Руби - именно это и заставило меня начать думать об этом. – Skilldrick