私は Scala についてさらに学んでいますが、http://www.scala-lang.org/node/135の無名関数の例を理解するのに少し苦労しています。以下のコードブロック全体をコピーしました。
object CurryTest extends Application {
def filter(xs: List[Int], p: Int => Boolean): List[Int] =
if (xs.isEmpty) xs
else if (p(xs.head)) xs.head :: filter(xs.tail, p)
else filter(xs.tail, p)
def modN(n: Int)(x: Int) = ((x % n) == 0)
val nums = List(1, 2, 3, 4, 5, 6, 7, 8)
println(filter(nums, modN(2)))
println(filter(nums, modN(3)))
}
modN 関数の適用について混乱しています
def modN(n: Int)(x: Int) = ((x % n) == 0)
例では、1 つの引数で呼び出されます
modN(2) and modN(3)
modN(n: Int)(x: Int) の構文は何を意味しますか?
1 つの引数で呼び出されるため、両方の引数ではないと想定していますが、nums の値が mod 関数でどのように使用されるかはわかりません。