2015-04-10 5 views

risposta

10

Questo è specifico per REPL (Read Evaluate Print Loop), poiché non può sapere quando termina l'input dell'utente.

Usa :paste per ottenere intorno ad esso:

scala> class A {} 
defined class A 

scala> object A {} 
defined object A 
warning: previously defined class A is not a companion to object A. 
Companions must be defined together; you may wish to use :paste mode for this. 

scala> :paste 
// Entering paste mode (ctrl-D to finish) 

class A {} 
object A {} 

// Exiting paste mode, now interpreting. 

defined class A 
defined object A 
2

La classe di accompagnamento e il relativo oggetto devono essere definiti nello stesso file.

in modo da poter scrivere la classe e l'oggetto in un file e quindi utilizzando :paste in REPL è possibile eseguire il codice. non verrà visualizzato alcun avviso.

scala> :paste 
// Entering paste mode (ctrl-D to finish) 

class Student(sid: Int, sname: String) { 
    val id = sid 
    val name = sname 

    override def toString() = this.id + "," + this.name 
    } 

    object Student { 
    def displayDetails(st: Student) = { 
     println("Student Details : " + st.id + "," + st.name) 
    } 
    } 


// Exiting paste mode, now interpreting. 

defined class Student 
defined object Student 
+0

Grazie per il chiarimento. – Pankaj

Problemi correlati