gpt4 book ai didi

language-agnostic - 为什么不同的算子有不同的结合性?

转载 作者:行者123 更新时间:2023-12-04 22:37:19 27 4
gpt4 key购买 nike

我已经到了 The Ruby Programming Language 中有关运算符的部分,这让我想到了运算符关联性。顺便说一下,这不是 Ruby 问题——它适用于所有语言。

我知道运营商必须以一种或另一种方式关联,我可以理解为什么在某些情况下一种方式比另一种方式更可取,但我很难看到更大的图景。语言设计者是否有一些标准来决定什么应该从左到右,什么应该从右到左?是否在某些情况下它与其他情况相比“只是有意义”,而在其他情况下这只是一个任意的决定?或者这一切背后有什么宏伟的设计?

最佳答案

通常它的语法是“自然的”:

  • 考虑 x - y + z .你希望它是从左到右的,这样你就会得到 (x - y) + z而不是 x - (y + z) .
  • 考虑 a = b = c .你希望它是从右到左的,这样你就会得到 a = (b = c) , 而不是 (a = b) = c .

  • 我想不出一个例子来说明选择似乎是“任意”做出的。

    免责声明:我不懂 Ruby,所以我上面的例子是基于 C 语法的。但我确信同样的原则也适用于 Ruby。

    关于language-agnostic - 为什么不同的算子有不同的结合性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3954554/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com