1
にペアのリストにパターンマッチングを使用しているとき、私はScalaのパターンマッチングを学習し、次の問題が発生しています:コンパイラエラーScalaの
は、私は整数のリストを持っているし、最後の要素に一致するようにパターンマッチングを使用しているとします
val list = 1 :: 2 :: 3 :: Nil
list match {
case xs :+ 3 => println("Matched")
case _ => println("Not matched")
}
この場合、問題なく動作し、「一致」が印刷されます。
しかし、私が代わりにペアのリストを使用する際に問題が来る:私はこれを書くとき
val list = ('a', 1) :: ('b', 2) :: ('c', 3) :: Nil
list match {
case xs :+ ('c', 3) => println("Matched")
case _ => println("Not mathed")
}
は、私は次のエラーを取得する:がある場合
<console>:14: error: too many patterns for object :+ offering
(List[(Char, Int)], (Char, Int)): expected 2, found 3
case xs :+ ('c', 3) => println("Matched")
^
<console>:14: error: type mismatch;
found : Char('c')
required: (Char, Int)
case xs :+ ('c', 3) => println("Matched")
私はここで何かを欠場していましたこれを行うにはいくつかの正しい方法ですか?
スカラバージョンは2.11.8です。
ありがとうございました