Тип шаблона несовместим с ожидаемым типом деконструкции списка внутри кейса - PullRequest
0 голосов
/ 11 июля 2019

Я начинаю с Scala, следую курсам Coursera - Принципы функционального программирования в курсе Scala и копирую код из презентаций. Я получаю две ошибки, которые мне не понятны:

  1. line 2: Expression of type Nil[Nothing] doesn't conform to expected type List [Int]

  2. line3: Pattern type is incompatible with expected type, found: ::[B], required: List[Int]

Я предполагаю, что код правильныйпоскольку это копия из статьи Мартина Одерского.

def isort (xs: List[Int]): List[Int] = xs match {
  case List() => List()
  case y :: ys => insert(y, isort(ys))
}

Буду признателен, если кто-нибудь сможет объяснить, почему я получаю ошибки.

1 Ответ

0 голосов
/ 12 июля 2019

Не выполняйте ручной импорт для List - вам не нужно это делать.

Только что сработало для меня в сеансе REPL.

def insert (x: Int, xs: List[Int]): List[Int] = xs match {
  case List() => List (x)
  case y :: ys => if (x <= y) x::xs else y::insert(x,ys)
}

def isort (xs: List[Int]): List[Int] = xs match {
  case List() => List()
  case y :: ys => insert(y, isort(ys))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...