用于在许多语言中添加变量的简写逻辑

时间:2011-10-06 20:32:24

标签: syntax

我很有意思,为什么赋值运算符的简写形式只能以一种方式工作,这意味着附加变量的值。

实施例。 (在Javascript中):

x+=y    x=x+y 
x-=y    x=x-y   
x*=y    x=x*y 
x/=y    x=x/y 
x%=y    x=x%y

我经常发现需要添加变量的情况:

实施例

x=y+x

假设x和y是字符串而你正在连接。

我希望语法允许类似:

x=+y

正如我用i ++或++那样增加数字。

是否有某种语言支持此功能?

2 个答案:

答案 0 :(得分:1)

当然x = y + x与y + = x

相同

我很困惑为什么你会学习一门新语言只是为了节省一个角色!

但是,我建议使用JQuery的.prepend()方法

http://api.jquery.com/prepend/

答案 1 :(得分:0)

有些语言允许定义新运算符和/或重载现有运算符(请参阅operator overloading)。

但是运营商及其使用应该是明确的。在您的示例中,x=+y可以解释为x=y+x(如您所示),也可以解释为x=(+x)+ unary operation,如-1中的否定操作})。这种歧义可能会使语言难以使用,特别是当程序员想要使代码简洁明了的时候。这也是为什么有些语言没有像syntactic sugar这样的前/后递增/递减运算符(例如Python)的原因。