ここにリンクされている質問から、Scala での Union のこの実装を見つけました。
def union(a: Set, b: Set): Set = i => a(i) || b(i)
Set は次のタイプの関数です。
type Set = Int => Boolean
ここで、Scala では関数が Int から Boolean にマップされることを理解し、このステートメントがどのように実行されるかをさらに理解しました。
a(i) || b(i)
しかし、私が理解していないのは、ここでの「i」が何であるかです。それはどこから来たのですか?セット間で一致が見つかった場合は true を返します。実際に一致する場合は、どこでフィルタリングすればよいでしょうか。