2010-02-27 34 views
10

Nói rằng tôi có một danh sách các đối số:cuộn/lập luận splat chung lisp

> (setf format-args `(t "it's ~a" 1)) 
(T "it's ~a" 1) 

Làm thế nào tôi có thể sau đó "splat" hoặc "cuộn" này vào một loạt các lý lẽ chứ không phải là một cuộc tranh luận danh sách duy nhất, cho cung cấp cho chức năng định dạng? tức là tôi muốn gọi hàm sau đây sẽ diễn ra:

> (format t "it's ~a" 1) 

Để tham khảo, tôi sẽ viết như sau trong python hoặc ruby:

format(*format-args) 

tôi chắc chắn rằng nó có thể được thực hiện, nhưng có lẽ tôi đang nghĩ về nó sai. Nó cũng không giúp tên cho hoạt động này dường như không được thỏa thuận một cách khủng khiếp ...

Trả lời

10

Rất tiếc! Tôi nên nhớ làm thế nào javascript hiện nó.

Hóa ra bạn sử dụng chức năng áp dụng, như trong:

(apply #'format format-args) 
Các vấn đề liên quan