如何将列表传递给cl-mustache?

时间:2012-07-02 21:47:18

标签: common-lisp mustache

我正在尝试使用CL-MUSTACHE。根据{{​​3}}文件中的示例,渲染原子变量可以正常工作:

> (mustache:mustache-render-to-string "{{year}}-{{month}}-{{day}}" 
                                      '((:year . "2012")
                                        (:month . "07")
                                        (:day . "02")))
"2012-07-02"

但是,我无法弄清楚如何传递一个列表来多次渲染一个部分。 README文件没有示例,我尝试过的方法不起作用。例如:

(mustache:mustache-render-to-string "{{#dates}}{{year}}-{{month}}-{{day}}
{{/dates}}" 
                                    '((:dates . (((:year . "2012")
                                                  (:month . "07")
                                                  (:day . "02"))
                                                 ((:year . "2013")
                                                  (:month . "08")
                                                  (:day . "03"))))))
"--
"

1 个答案:

答案 0 :(得分:2)

我没有检查它,但是从文档中看来,数组似乎被视为CL数组,所以你可以试试看它是否有效:

(mustache:mustache-render-to-string "{{#dates}}{{year}}-{{month}}-{{day}}{{/dates}}" 
                                    '((:dates . #( ((:year . "2012")
                                                    (:month . "07")
                                                    (:day . "02"))
                                                   ((:year . "2013")
                                                    (:month . "08")
                                                    (:day . "03"))))))

(即参数列表数组)。