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
Try
(format T "~vT My Text" 5)
See 22.3 Formatted Output:
In place of a prefix parameter to a directive,
V
(orv
) can be used. In this case, format takes an argument from args as a parameter to the directive. The argument should be an integer or character. If the arg used by aV
parameter is nil, the effect is as if the parameter had been omitted.#
can be used in place of a prefix parameter; it represents the number of args remaining to be processed. When used within a recursive format, in the context of~?
or~{
, the#
prefix parameter represents the number of format arguments remaining within the recursive call.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With