2

在大多数语言中,如果你想交换两个变量,它是这样的:

var c = b
b = a
a = c

是的,如果你愿意的话,你可以用 XOR 做一些花哨的 hack,但是对于单个操作来说,它通常是 3 行代码。是否有任何语言将交换变量作为语言中的原语?

4

2 回答 2

5

Lua、Python、Ruby 等支持这种表示法:

a, b = b, a

而且javascript当然也不需要临时变量;)

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

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

于 2012-04-05T05:05:18.037 回答
4

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

a, b = b, a

现在 a 具有 b 的值,b 具有 a 的值。我不确定这是否是您的意思。

于 2012-04-05T05:05:23.350 回答