1. ホーム
  2. scala

[解決済み] Scala forallの例?

2022-02-05 03:47:53

質問内容

Googleで検索してみましたが、まともなものが見つかりませんでした。 forall の例です。これは何をするものなのでしょうか?なぜブール関数が必要なのでしょうか?

参考文献を紹介してください(Scaladocは除く)。

どのように解決するのですか?

その forall メソッドは関数 p を返し、ブール値を返す。 のセマンティクスは forall は、次のようになります。 true もしすべての x をコレクションに追加します。 p(x) が真となる。

だから

List(1,2,3).forall(x => x < 3)

を意味します。 true が3より小さい場合。 false それ以外の場合は この場合、次のように評価されます。 false すべての要素が3より小さいわけではないので、3は3より小さくないのです。

似たような方法として exists を返します。 true があれば 少なくとも1つの 要素 x のようなコレクションで p(x) が真である。

だから

List(1,2,3).exists(x => x < 3)

を意味します。 true もし のうち少なくとも1つは 1、2、3が3未満である。 false でなければ この場合、次のように評価されます。 true というのは、ある要素が3より小さい場合だからです。例えば、1は3より小さい。