2010-06-19 1 views
25

Ho due file:
Scala, l'importazione di classe

logic.scala e main.scala

logic.scala contiene una classe e main.scala avere una classe con il metodo main (per eseguirlo) . E voglio importare una classe da logic.scala e usare questa classe per creare oggetti e lavorare con loro.
Come importarlo e compilarlo in modo corretto?

+0

Per quanto riguarda i pacchetti Scala e le importazioni sono interessati, date un'occhiata qui: http://www.scala-lang.org/ node/119 e per la compilazione ed esecuzione del codice Scala guarda qui: http://www.scala-lang.org/node/166 Se modifichi la tua domanda e aggiungi del codice di esempio per illustrare il tuo problema sono sicuro otterrai mor e aiuto specifico. –

+1

Senza alcuna raccomandazione su come si organizza il codice, è necessario essere consapevoli del fatto che il requisito Java delle classi pubbliche di essere uno-a-uno con i file di origine * non esiste * in Scala. Hai la possibilità di ordinare le classi in file praticamente in qualsiasi modo tu ritenga appropriato. L'unica eccezione è il concetto 'sealed' e il concetto * companion *' class' + 'object'. –

risposta

40
  • logic.scala codice
package logic 

class Logic{ 

    def hello = "hello" 

} 
  • main.scala codice
package runtime 

import logic.Logic // import 

object Main extends Application{ 

    println(new Logic hello) // instantiation and invocation 

} 
  • compilare i file con scalac
scalac *.scala 
  • eseguire l'applicazione con scala
scala -cp . runtime.Main 
+11

Il tratto ** Applicazione ** è deprecato, quindi si consiglia di utilizzare invece il tratto ** App **. – danriti

+0

Questo codice mi dà questo errore: src/main/scala/main.scala: 3: errore: non trovato: logica oggetto importazione logic.Logic // import ^ src/main/scala/main.scala: 7 : errore: non trovato: tipo Logica println (nuova logica Ciao) // istanziazione e invocazione ^ –