Prolog (SWI):字符串插值

Prolog (SWI): string interpolation

是否有可通过 SWI-Prolog 库使用的谓词,它提供了一种插入字符串的机制?

我的想法如下:

string(hello, %s, David)

但是,我不确定串联是否会使所需的功能变得不必要。

write("hello",string(david)). % possibly inaccurate

看起来我在文档中找到了答案,但我会把我的问题留给其他人。 SWI's formatted write 提供了我需要的功能。

?- swritef(S, '%15L%w', ['Hello', 'World']).
S = "Hello          World"

如果有更好的方法或者我忽略了实施细节,请随时发表评论。