剩下的编程语言示例?

Jos*_*nce 0 programming-languages operators

我教一个朋友介绍的编程和我有一个很难说服他们,a = b并且b = a是两个完全不同的事情。

最终,我找到了描述它的正确词(正确的联想),这使我开始思考。

是否有任何关联的编程语言?我从未见过以下语言:

a = b 导致b设置为a的值。

sep*_*p2k 5

您误解了关联性。等于的运算符op是关联的。对于不关联的运算符,无论代表前者还是后者,都变得很重要。因此,我们区分左关联运算符(在哪里)和右关联运算符(在哪里)。(a op b) op ca op (b op c)a op b op c(a op b) op ca op (b op c)

大多数语言中的大多数运算符都是左联想的。举个例子-a - b - c相当于(a - b) - c大多数语言,不是a - (b - c)

赋值运算符是一个例外,(a = b) = c通常是不合法的(因为您不能赋值给赋值结果)。因此,在大多数语言a = b = c中,等价于a = (b = c)。一个值得注意的例外是Python,a = b = c它根本不关联并且完全是非法的。

这一切都不有什么关系之间的差异a = bb = a。由于这仅涉及=操作员的一次使用,因此关联性根本不算在内。而是相关的性质是可交换的op如果a op b等于则一个算子是可交换的b op a。我不知道赋值是可交换的任何语言,我也不知道赋值是可交换的。

不存在诸如左可交换性或右可交换性的概念。据我所知,没有术语“是否a = b分配ba或相反?”这个词。-这只是赋值运算符语义的一部分。