5

I need to print something with variable number of spaces before it. For example if I need to print 5 spaces before my text, I will do:

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

In place of 5, can I use a variable and be able to pass on a value to it? What I am looking for is like:

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

1 回答 1

10

尝试

(format T "~vT My Text" 5)

请参阅22.3 格式化输出

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

于 2013-11-10T16:53:59.117 回答