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

时间:2012-04-05 05:03:01

标签: variables programming-languages language-features

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

var c = b
b = a
a = c

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

2 个答案:

答案 0 :(得分:5)

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

a, b = b, a

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

a = -(b = (a += b) - b) + a;

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

答案 1 :(得分:4)

在大多数动态语言中,您可以执行以下操作来交换:

a, b = b, a

现在a的值为b,b的值为a。我不确定这是不是你的意思。