对于我所说的内容,我不知道一个非常好的名称,但是,大多数编程语言都使用语法来进行赋值语句:
(变量)(赋值运算符)(表达式)
有些人有一些特殊的赋值运算符,例如var1 += var2
等同于var1 = var1 + var2
。
我的问题基本上是,是否有任何语言可以对待+ =如上所述,但也有一个= +运算符,以便var1 =+ var2
等同于var2 = var2 + var1
?
基本上,是否存在具有“可镜像”赋值运算符的编程语言,因此右侧的变量是赋值一个新变量(而不是左侧的变量)?
编辑:
我想一个更好的例子,我所指的是一种语言,你可以将(variable) (assignment operator) (expression)
和(expression) (assignment operator) (variable)
作为有效的陈述。
答案 0 :(得分:3)
编程语言的作者通常会尽量保持他们的语言尽可能简单,没有任何不必要的冗余。因此,进行任何形式的双方评估都是多余的,不必要的。它只会使语言规范延长20页。我认为这个功能没有语言。
顺便说一句,你的“语法”(语法规则)并不清楚。如果有人写
怎么办?var x = 3, y = 2;
x = y;
顺便说一句,Pascal有一个任务的“方向”。实际上,您可以将代码编写为
var x = 3, y = 2;
x := y;
y =: x;
并为此编写自己的简单预处理器,但同样,我认为这只是“干净”语言的复杂性。
答案 1 :(得分:3)
您建议只是让代码更难阅读的方法。如果只是合成糖用于以不同的顺序编写变量 ,那么拥有=+
运算符是没有价值的。但是,既然你是这些奇怪的东西,你肯定会喜欢像Befunge和Piet这样的语言,它们会以某种扭曲的方式支持它。
答案 2 :(得分:1)
有些COBOL指令是这样的。例如。 ADD B TO A
相当于其他语言中的“A + = B”。