循环通过列表,我现在有一个方法,我不断做调用它下面Lisp语言的功能
(function1 (first lst))
(function1 (second lst))
(function1 (third lst))
这正好五年。我想知道是否有一个我可以创建的函数可以为我创建,所以当创建时我调用一个方法而不是调用它五次。
循环通过列表,我现在有一个方法,我不断做调用它下面Lisp语言的功能
(function1 (first lst))
(function1 (second lst))
(function1 (third lst))
这正好五年。我想知道是否有一个我可以创建的函数可以为我创建,所以当创建时我调用一个方法而不是调用它五次。
(map function1 (take lst 5))
take
需要的lst
的第一要素,形成一个列表了出来。 map
将function1
应用于此列表的每个元素,并返回结果列表。
问题标有[tag:common-lisp]。此答案中的用法不使用Common Lisp的** map **(至少需要三个参数),并且** take **未在Common Lisp中定义。 – 2015-04-01 20:08:06
它几乎看起来像你不关心的结果。那么你可以做
(mapC#'function lst)
你的用例似乎更适合映射比循环。您可能想了解[映射功能](http://www.lispworks.com/documentation/HyperSpec/Body/f_mapc_.htm)。 – 2015-04-01 11:55:57