循環通過列表,我現在有一個方法,我不斷做調用它下面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