7

我查看了writef()任何bool说明符的文档,但似乎没有。

在教堂计划中,我有: ...

config const verify = false;
/* that works but I want to use writef() to also print a bunch of other stuff*/
writeln("verify = " + verify); 
writef("verify = %<what-specifier-goes-here>\n", verify);

最后一条语句可以正常工作。

// I guess I could do:

writef( "verify = %s\n",if verify then "true" else "false");
4

2 回答 2

3

根据FormattedIO文档bool, Chapel 的格式化 IO 中没有可用的说明符。

相反,您可以使用通用说明符 ( )在格式化的 IO%t中打印类型:bool

config const verify = false;
writef("verify = %t\n", verify);

该说明符使用类型的writeThisorreadWriteThis方法来打印变量。Chapel IO 文档提供了有关这些方法如何工作的更多详细信息。

于 2017-11-11T23:26:01.140 回答
-1

不,没有这样<specifier>的 bool inFormattedIO

正如文档所解释的,在最近的 Chapel 语言版本中没有这样bool的 -value 特定说明符。

基于价值的verify转换很好。

config const verify    =  false;
var aTrueFalseAsSTRING = "false";

if verify then aTrueFalseAsSTRING = "true";

writef( "verify = %s\n",
         aTrueFalseAsSTRING
         );
于 2017-11-11T23:28:47.003 回答