Chapel では、指定された値に等しい配列要素の数を次のように数えることができます。
var a = [1,2,5,5,5];
writeln( a.count( 5 ) ); // this gives 3
しかし、同様の方法は、真の要素の数をカウントするためには機能しないようです:
writeln( count( a > 1 ) );
writeln( ( a > 1 ).count( true ) );
この場合、明示的な for ループを記述する必要がありますか、それともこの目的のための他の関数 (またはメソッド) はありますか?
アップデート
a == 5
さらに実験した後、結果を新しい配列に保存すると
var mask = ( a == 5 );
その後、期待どおりに動作します
writeln( mask.count( true ) ); // gives 3
では、a == 5
配列オブジェクトとは異なるものを表している可能性があるため、.count()
直接提供されませんか?