2016-11-26 1 views
0

를 실행 가져올 수 없습니다 이것이 패키지를 사용하기 때문에 조금 혼란 스럽네요. 나는나는이 개 질문이 스칼라 파일

scalac Fruits.scala 
scala bobsdelight\Fruits 

를 사용하여이 작업을 실행하려고하지만, 사람이 얼마나 좋은 것이 스크립트를 실행하는 방법 보여주세요 수 있다면 나는

java.lang.NoClassDefFoundError: bobsdelights\Fruits wrong name: bobsdelights/Fruits)을 얻을

2)가도를 만들려고 해요 먼저 파일을로드하여 REPL에서 new Fruits.Apple를 호출하여 새로운 애플 객체하지만 난 얻을 :

error: type Apple is not a member of object Fruits 
new Fruits.Apple`` 

이 예는 스칼라에서 프로그래밍에 도서.

package bobsdelights 

abstract class Fruit(
    val name: String, 
    val color: String 
) 

object Fruits { 
    object Apple extends Fruit("apple", "red") 
    object Orange extends Fruit("orange", "orange") 
    object Pear extends Fruit("pear", "yellowish") 
    val menu = List(Apple, Orange, Pear) 
} 
+0

Fruits.scala의 전체 콘텐츠를 삭제할 수 있습니까? – Pavel

+0

그것이 전부입니다. – zam

+0

실제 클래스 정의 Fruits를 만듭니다. Singelton은 Fruits $ 등 다른 클래스를 가지고 있습니다. – Pavel

답변

1

REPL 예 :

$ scala 
Welcome to Scala 2.12.0 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_111). 
Type in expressions for evaluation. Or try :help. 

scala> :pa bobsdelight.scala 
Pasting file bobsdelight.scala... 

scala> Fruits.menu 
<console>:12: error: not found: value Fruits 
     Fruits.menu 
    ^

scala> import bobsdelight._ 
<console>:11: error: not found: value bobsdelight 
     import bobsdelight._ 
      ^

scala> import bobsdelights._ 
import bobsdelights._ 

scala> Fruits.menu 
res1: List[bobsdelights.Fruit] = List([email protected], [email protected], [email protected]) 

당신이하려고하면 아무 주요 방법으로 "실행"클래스에 : 실행 가능한 응용 프로그램에 대한

$ scala bobsdelights.Fruits 
java.lang.NoSuchMethodException: bobsdelights.Fruits.main([Ljava.lang.String;) 

관용구 :

object Fruits extends App { 
    object Apple extends Fruit("apple", "red") 
    object Orange extends Fruit("orange", "orange") 
    object Pear extends Fruit("pear", "yellowish") 
    val menu = List(Apple, Orange, Pear) 

    println(menu) 
} 

$ scalac bobsdelight.scala && scala bobsdelights.Fruits 
List([email protected], [email protected], [email protected])