2016-09-25 3 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을'라는 이름과 '데이터 구조체'에 저장된 /의 SRC/메인/스칼라의 패키지는, 첨부 된 디렉토리 구조에 따라 표시 : 나는 다른 파일이라고 test.sc.로 목록 개체를 가져하려고

Directory structure

아래 코드는 다음과 같습니다.

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 파일을 너무 많이

덕분에 워크 시트 파일을 신속하게 평가하고 테스트 스칼라 코드에 사용되는 구조이다 느릅 나무입니다.

워크 시트 소스는 스칼라 소스 코드로 사용할 수 없습니다. 다른 클래스 나 워크 시트에서 코드를 사용하려면 파일 확장자를 .scala

+0

으로 변경해야합니다. 감사합니다. Sascha 덕분에 많은 도움이되었습니다. – beginner

관련 문제