2016-09-13 4 views
0

を取得すると、ここで私はclassSubjectsが、取得コンパイルエラーで有効な方法であるaddSubjectを呼び出すようにしようとしていますClassでメソッドを呼び出せません。ランタイムエラー

scala> class Subjects { 
    |  //The default Access Modifier of a vairable is 'public' #101 
    |  private var subjects:List[String] = Nil 
    | 
    |  //Always Specify Return type for Readability #103 
    |  //Here we are using Cons operator to prepend (Constant time) 
    |  //A method with Side effect is also called 'Procedure' #103 
    |  def addSubject(subject: String):Unit = { subjects = subject :: subjects } 
    | 
    |  def getSubjects():List[String] = subjects 
    | } 
defined class Subjects 


scala> 

scala> val obj = new Subjects 
obj: Subjects = [email protected] 

scala> obj.addSubject("Math") 
<console>:47: error: value addSubject is not a member of Subjects 
     obj.addSubject("Math") 

私のコードです。私はここで何が欠けていますか?

+1

これは問題なく機能します。 – Ryan

答えて

1

Subjectsクラスはどのようにコンソールに書きましたか? :pasteを使用していますか?

scala> val obj = new Subjects 
obj: Subjects = [email protected] 

scala> obj.addSubject("Math") 

scala> obj.getSubjects() 
res1: List[String] = List(Math) 
+0

いいえ... ':paste'を使用しませんでした。REPLに直接入力しました。今私の質問を更新しました。また、私は 'spark-shell'を使用しています – Raj

+1

おっと。シェルを終了し、再び開いた..そしてすべてが今働く...それは奇妙です – Raj

関連する問題