2014-01-27 49 views
2

我想要這樣的普通lisp。有沒有一種方法使用格式來重複一個詞

(format t "~{-~}" repeat-times) 

如果重複次數爲5將打印-----

如果重複次數爲10將打印----------

是格式存在一個方法來做到這一點?

+1

一定要查看相關的[Lisp格式字符多次](http://stackoverflow.com/q/20072959/1281433)。 [Lars Brinkhoff的答案](http://stackoverflow.com/a/20074641/1281433)中的解決方案(目前最高的優先)適用於文字和角色。 –

+0

謝謝你!我搜索但沒有找到同樣的問題,然後我問。 –

回答

3

是的。 ~{通常會重複,只要有參數需要處理,但添加前綴參數將限制迭代次數。使前綴參數v將從參數列表中獲取它。添加@將使迭代使用其餘參數作爲輸入。

由於大括號之間的部分從不使用任何參數,所以前綴將決定迭代次數。但是,必須至少有一個參數(我任意選擇nil),否則迭代將立即終止。

(format t "[email protected]{-~}" repeat-times nil) 
相關問題