当我使用Chapel Formatted I/O打印数字时,我可以设置数字长度
writeln("my number is %{#.###}", 3.14159)
我想要与字符串类似的东西,但我没有在页面上看到一个例子。基本上,我希望字符串排成一列。
答案 0 :(得分:2)
您的示例使writeln
与writef
混淆。要在writeln
中使用格式化的IO,您需要调用.format()
方法。下面是一个演示字符串格式说明符(%s
)和通用格式说明符(%t
)的示例。这些列在您在问题中链接的页面上。
config var someString = 'ben';
// String format specifier
writeln('%s is great'.format(someString));
writef('%s is awesome\n', someString);
// Generic format specifier invokes the readThis / writeThis of the object
writeln('%t is awesome x%t'.format(someString, 2));
输出:
ben is great
ben is awesome
"ben" is awesome x2
请注意,字符串对象在其writeThis
方法中包含引号,因此在使用带有通用格式说明符的字符串时会获得引号。