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

Pra*_*obo 5 format common-lisp

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

(format T "%5T My Text")
Output:     My Text
Run Code Online (Sandbox Code Playgroud)

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

(format T "%(~d)T My Text" 5)
output:     My Text
Run Code Online (Sandbox Code Playgroud)

use*_*lpa 10

尝试

(format T "~vT My Text" 5)
Run Code Online (Sandbox Code Playgroud)

请参见22.3格式化输出:

可以使用V(或v)代替指令的前缀参数.在这种情况下,formatargs中的参数作为指令的参数.参数应该是整数字符.如果参数 使用的argVnil,则效果就好像省略了参数一样.#可以用来代替前缀参数; 它表示剩余要处理的args数.当在递归格式中使用时,在~?或的上下文中~{,#prefix参数表示递归调用中剩余的格式参数的数量.