私は Scala パターン マッチング関数を理解しようとしていますが、ここで何が起こっているのか理解できません。
sealed abstract class SearchTree
case object Empty extends SearchTree
case class Node(l: SearchTree, d: Int, r: SearchTree) extends SearchTree
def test(t: SearchTree): Boolean = {
def check(t: SearchTree, min: Int, max: Int): Boolean = t match {
case Empty => true
case Node(l, d, r) => min <= d && d < max && check(l, min, d) && check(r, d, max)
check(t, Int.MinValue, Int.MaxValue)
}
私の質問は: min: Int, max: Int の値は最初の match 呼び出しで渡されるのはどこですか? その後、連続する再帰呼び出しを理解しましたが、既知の値として t:SearchTree のみを使用してパターン マッチを開始するにはどうすればよいでしょうか。
この機能のテストはありますが、質問には必要ないと思います
前もって感謝します