私はグーグル検索を試みましたが、まともなforall
例を見つけることができませんでした。それは何をするためのものか?なぜブール関数を取るのですか?
参考文献を教えてください(Scaladocを除く)。
私はグーグル検索を試みましたが、まともなforall
例を見つけることができませんでした。それは何をするためのものか?なぜブール関数を取るのですか?
参考文献を教えてください(Scaladocを除く)。
このforall
メソッドはp
、ブール値を返す関数を取ります。のセマンティクスは次のとおりです。コレクション内のすべての場合にtrueをforall
返します。true
x
p(x)
それで:
List(1,2,3).forall(x => x < 3)
つまりtrue
、1、2、および3が3未満の場合、それ以外のfalse
場合。この場合、false
すべての要素が3未満であるとは限らないため、評価されます。3は3以上です。
コレクションにtrueとなる要素が少なくとも1つある場合にexists
返される、同様のメソッドがあります。true
x
p(x)
それで:
List(1,2,3).exists(x => x < 3)
意味: 1、2、および3の少なくとも1つが3未満の場合、それ以外のtrue
場合。この場合、一部の要素が3未満であるため、評価されます。たとえば、1は3未満です。false
true
Scala
スクリプトを使用してこの関数を操作する方法の簡単な例。
myScript.scala
でファイルを作成する
println(args.forall(p => (p.equals("a"))))
そしてそれを
scala myScript.scala a a a // true
scala myScript.scala a b c // false
Scala'sは、論理積を適用したり、初期のブール値のリストにforall
適用したりするための優れたツールでもあります。
val evalResults: List[Boolean] = List(evaluateFunc1(), evaluateFunc2(), evaluateFunc3(), evaluateFunc4(), evaluateFunc5())
evalResults.forall(result => result == true)