如何在 Chapel 中使用 domain.find() 作为测试

How do I use domain.find() as a test in Chapel

我有一个字符串域,我想测试一个元素。 find 似乎是我想要的,但它给我一个错误。

var names: domain(string);
names += "bob";
if !names.find("bob") {
  writeln("Where is Bob?")
}

产生错误

error: illegal access of iterator or promoted expression

要检查域内的成员资格,您要使用 domain.member():

if !names.member("bob") {
  writeln("Where is Bob?")
}

至于您的原始示例,没有 domain.find(),因此您的原始示例实际上在域的每个元素上都被提升为 string.find()#8450 对此进行了更详细的描述。