2016-09-25 2 views
0

Я работаю над функциональным программированием 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/основных/Скале, в соответствии с прилагаемой структурой каталогов показан:

Directory structure

Я пытаюсь импортировать объект списка в другой файл с именем 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._, но это не сработало.

Import error Может ли кто-нибудь указать мне направление на фиксацию этого?

Большого спасибо

ответ

4

.sc файлов файлы листы Wich это конструкция используется для быстрой оценки и код теста Scala.

Источники данных не могут использоваться в качестве исходного кода scala. Если вы хотите использовать код в других классах или листе, вы должны изменить расширение файла на .scala

+0

Спасибо Sascha, это помогло много – beginner

Смежные вопросы