如何将填充长度指定为Guile格式的参数?

时间:2018-03-04 13:13:04

标签: scheme guile

Guile的格式可以填充参数:

(format #f "~5d" 123)  ;; => "  123"

但是如何从参数中读取填充长度?

(format #f "~?d" 5 123)  ;; => "  123"

由Bash的printf完成:

printf "%*d" 5 123  ## => "  123"

1 个答案:

答案 0 :(得分:2)

如Guile Reference Manual中所述,您可以使用v参数。

  

v - 下一个函数参数作为参数。 v代表“变量”,参数可以在运行时计算并包含在参数中。大写字母V也可以使用。

例如:

(format #f "~vd" 5 123)
=> "  123"