В ближайшем будущем, как вы передаете список параметризованной функции (и многое другое) - PullRequest
3 голосов
/ 15 декабря 2011

Скажите, у меня есть функция:

(defn foo [something & otherthings]
  (println something)
  (println otherthings))

оценка

(foo "ack" "moo" "boo")

дает мне:

ack                                                               
(moo boo) 

что делать, если я хочу вызвать foo со списком?

(foo "ack" (list "moo" "boo"))

и получите

ack                                                            
(moo boo) 

вместо

ack                                            
((moo boo)) 

Есть ли способ сделать это без изменения foo?

1 Ответ

8 голосов
/ 15 декабря 2011

Вы хотите apply:

(apply foo "ack" (list "moo" "boo"))
...