当我用 Chapel 的 Formatted I/O 打印数字时我可以用类似的方法设置数字的长度
writeln("my number is %{#.###}", 3.14159)
我想要与字符串类似的东西,但我在页面上没有看到示例。基本上,我希望字符串能够排列在漂亮的列中。
最佳答案
您的示例混淆了 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
方法中包含引号,因此在使用带有通用格式说明符的字符串时会得到引号。
关于string-formatting - 如何格式化 Chapel 中的字符串输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49326291/