Я работаю над функциональным программированием Chiusano в Scala. В 3-й главе, касающейся функциональных структур данных, он дает пример кода для демонстрации концепции односвязанны списка в листинге 3.1:Невозможно импортировать объект в Intellij Scala
package datastructures
sealed trait List[+A]
case object Nil extends List[Nothing]
case class Cons[+A](head: A, tail: List[A]) extends List[A]
object List {
def sum(ints: List[Int]): Int = ints match {
case Nil => 0
case Cons(x, xs) => x + sum(xs)
}
def product(ds: List[Double]): Double = ds match {
case Nil => 0
case Cons(0.0, _) => 0.0
case Cons(x, xs) => x * product(xs)
}
def apply[A](as: A*): List[A] =
if (as.isEmpty) Nil
else Cons(as.head, apply(as.tail: _*))
}
Я назвал этот файл «listing.sc» и сохранили его в «datastructures» пакет в/SRC/основных/Скале, в соответствии с прилагаемой структурой каталогов показан:
Я пытаюсь импортировать объект списка в другой файл с именем test.sc. У меня есть следующий код:
import datastructures.List
val ex1: List[Double] = Nil
val ex2: List[Int] = Cons(1, Nil)
val ex3: List[String] = Cons("a", Cons("b", Nil))
Однако это не удается с ошибкой: не удается разрешить список символов. Я попытался импортировать datastructures._, но это не сработало.
Может ли кто-нибудь указать мне направление на фиксацию этого?
Большого спасибо
Спасибо Sascha, это помогло много – beginner