使用变量作为format指令的前缀参数

时间:2013-11-10 16:35:43

标签: format common-lisp

我需要在它之前打印具有可变数量空格的东西。例如,如果我需要在文本之前打印5个空格,我会这样做:

(format T "%5T My Text")
Output:     My Text

代替5,我可以使用变量并将值传递给它吗?我要找的是:

(format T "%(~d)T My Text" 5)
output:     My Text

1 个答案:

答案 0 :(得分:10)

尝试

(format T "~vT My Text" 5)

请参阅22.3 Formatted Output

  

代替指令的前缀参数,可以使用V(或v)。   在这种情况下,格式 args 中的参数作为参数传递给   指示。参数应该是整数字符。如果 arg   由V参数使用 nil ,效果就像参数一样   被省略了。可以使用#代替前缀参数;它   表示剩余要处理的 args 的数量。使用时   在递归格式中,在~?~{的上下文中,#前缀   参数表示剩余的格式参数的数量   递归电话。

相关问题