有没有办法使用格式重复一个单词

时间:2014-01-27 06:30:52

标签: format common-lisp

我想在普通的lisp中使用这样的东西。

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

如果重复次数为5将打印-----

如果重复次数为10将打印----------

格式是否存在这样做?

1 个答案:

答案 0 :(得分:4)

是。只要有待处理的参数,~{通常会重复,但添加前缀参数将限制迭代次数。使前缀参数v将从参数列表中获取它。添加@将使迭代使用其余参数作为输入。

由于大括号之间的部分从不使用任何参数,因此前缀将决定迭代次数。但是,必须至少有一个参数(我随意选择nil),否则迭代将立即终止。

(format t "~v@{-~}" repeat-times nil)