我需要在它之前打印具有可变数量空格的东西。例如,如果我需要在文本之前打印5个空格,我会这样做:
(format T "%5T My Text")
Output: My Text
代替5,我可以使用变量并将值传递给它吗?我要找的是:
(format T "%(~d)T My Text" 5)
output: My Text
答案 0 :(得分:10)
尝试
(format T "~vT My Text" 5)
代替指令的前缀参数,可以使用
V
(或v
)。 在这种情况下,格式将 args 中的参数作为参数传递给 指示。参数应该是整数或字符。如果 arg 由V
参数使用 nil ,效果就像参数一样 被省略了。可以使用#
代替前缀参数;它 表示剩余要处理的 args 的数量。使用时 在递归格式中,在~?
或~{
的上下文中,#
前缀 参数表示剩余的格式参数的数量 递归电话。