2016-09-25 108 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 /主/階,按照所附目錄結構中所示:

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)) 

但是,此失敗,錯誤:無法解析符號列表。我曾嘗試導入數據結構。但這並沒有起作用。

Import error 有人可以指出我的方向來解決這個問題嗎?

非常感謝

回答

4

.sc文件是工作文件至極是用於快速評估和測試Scala代碼的構造。

工作表源不能用作scala源代碼。如果你想使用其他類或工作表中的代碼,你應該改變文件擴展名爲.scala

+0

謝謝Sascha,這幫助了很多 – beginner