如何在不使用第三个变量的情况下在 LISP 中交换两个变量?
kotlinski
问问题
683 次
5 回答
25
(rotatef a b)
于 2009-02-10T01:28:27.060 回答
1
还:
(让 ((ab) (ba)) ...)
于 2009-07-09T00:33:49.580 回答
1
另一种选择,“并行 setf”:
(psetf 阿巴)
于 2012-11-08T20:38:23.870 回答
0
还有一种方法:
(setf (values a b) (values b a))
于 2017-01-16T19:51:44.137 回答
-3
相当可怕的方法,它仅适用于数值,但它更通用且不依赖于语法:
a = a^b
b = a^b
a = a^b
假设之前分配了 a 和 b, ^ 表示逻辑排他选择。
于 2014-02-28T18:28:41.827 回答