2
私はScalaを初めて使いました。私は、どの述語が正しいのか、正しい方法を理解しようとしています。私がオンラインで見つけた情報は私にはあまり明確ではないし、述語に関する以前の知識を前提としている。誰かが自分のことを説明し、Scalaでそれらを使用する方法のいくつかの例を示すことができますか?Scala Predicates
私はScalaを初めて使いました。私は、どの述語が正しいのか、正しい方法を理解しようとしています。私がオンラインで見つけた情報は私にはあまり明確ではないし、述語に関する以前の知識を前提としている。誰かが自分のことを説明し、Scalaでそれらを使用する方法のいくつかの例を示すことができますか?Scala Predicates
述部は、Boolean
を返す関数です。
たとえば、Integerが偶数であるかどうかを確認するには、関数isEven
を定義できます。
scala> def isEven(i: Int) = i % 2 == 0
isEven: (i: Int)Boolean
これは期待どおりの動作です。
scala> isEven(2)
res1: Boolean = true
だから、あなたは、ブール値を返す関数を取るfilter
のような関数にこれを渡すことができます。これの型シグネチャはp: (A) ⇒ Boolean)
です。ここで、p
は述語の略です。
scala> List(1,2,3,4,5,6,7,8,9,10).filter(isEven)
res2: List[Int] = List(2, 4, 6, 8, 10)
参考になるものはScala Schoolを参照してください。