哪些语言具有交换变量的原始操作?

Sha*_*ese 2 variables language-features programming-languages

在大多数语言中,如果要交换两个变量,则类似于:

var c = b
b = a
a = c
Run Code Online (Sandbox Code Playgroud)

是的,如果你愿意的话,你可以使用XOR进行花哨的黑客攻击,但通常只需3行代码即可进行单一操作.是否有任何语言将交换变量作为语言中的原语?

mik*_*iku 5

Lua,Python,Ruby等更多支持这种表示法:

a, b = b, a
Run Code Online (Sandbox Code Playgroud)

并且javascript肯定不需要临时变量;)

a = -(b = (a += b) - b) + a;
Run Code Online (Sandbox Code Playgroud)

有关如何交换变量的更多示例(使用86种语言),请参阅:http://rosettacode.org/wiki/Generic_swap