我不知道我在说的是什么好名字,但是,大多数编程语言都对赋值语句使用如下语法:
(变量)(赋值运算符)(表达式)
而一些有一些特殊的赋值运算符,如var1 += var2
这相当于var1 = var1 + var2
。
我的问题基本上是,是否有任何语言可以像上面一样对待+ =,但是也有= +运算符,所以它var1 =+ var2
等同于var2 = var2 + var1
?
从本质上讲,是否存在带有“可镜像”赋值运算符的编程语言,以便右侧的变量为赋值一个新变量(而不是左侧的变量)的对象是什么?
编辑:
我想我所指的更好的例子是一种语言,您可以同时拥有(variable) (assignment operator) (expression)
和(expression) (assignment operator) (variable)
作为有效语句。
编程语言的作者通常会尽量保持其语言尽可能简单,而没有任何不必要的冗余。因此,进行任何一种双向评估都是多余且不必要的。这只会使语言规范增加20页。我认为此功能没有语言。
顺便说一下,您的“语法”(语法规则)不清楚。如果有人写怎么办
var x = 3, y = 2;
x = y;
顺便说一句,帕斯卡有分配的“方向”。实际上,您可以将代码编写为
var x = 3, y = 2;
x := y;
y =: x;
并为此编写自己的简单预处理器,但是同样,我认为这只是“干净”语言的一种复杂形式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句