Я делаю курс Мартина Одерского о Скале. В одном из заданий у меня следующий тип:Scala - ошибка при прохождении параметров
type Occurrences = List[(Char, Int)]
я определил метод, который вычитает элемент типа (Char, Int)
из элемента типа Occurrences
.
def subtractOne(x: Occurrences, (char: Char, nr: Int)): Occurrences = x match {
case List() => throw new Exception("can not subtract")
case (char, nr2) :: ocs => {
if(nr2 > nr) (char, nr2 - nr) :: ocs
else if(nr2 == nr) ocs
else throw new Exception("can not subtract")
}
case _ :: ocs => subtractOne(ocs, (char, nr))
}
Однако я получаю некоторые непонятные ошибки на первой линии: Wrong parameter
и Definition or declaration expected
.
Есть ли что-то не так с тем, как я объявил параметры?
Вы не можете «шаблон матч» кортеж в списке параметров метода , Используйте 'def subtractOne (x: Occurrences, e: (Char, Int)): Occurrences' затем ссылаются на элементы вашего кортежа через' e._1' и 'e._2' – metaphori