1
我知道,在一個Lisp循環,可以在這個例子中使用特殊的變量「它」,從Gigamonkeys:可以在Lisp的循環之外使用「it」命令嗎?
(loop for key in some-list when (gethash key some-hash) collect it)
我在想,如果有一個循環之外的任何等同概念,除了使用讓存儲它明確地說,是這樣的:
(let ((result (foo input)))
(when result (push result acc)))
我可以用讓,但我只是好奇,是否有一些語法糖,可以使我的代碼更簡潔。
謝謝!徹底忘記了lisp的那個小小的好處。 –
請參閱?宏如此流暢,即使在使用其中一個宏時,實際上也可能忘記它們存在,例如'loop'。 – Kaz
還有一個包含許多正常控制結構的指代版本的軟件包。它被稱爲回指。請參閱:http://common-lisp.net/project/anaphora/ – PuercoPop