/ / Importieren Sie mehrere Pakete in Scala REPL - scala, read-eval-print-loop

Importieren Sie mehrere Pakete in Scala REPL - scala, read-eval-print-loop

In Scala muss ich häufig mehrere Pakete mit Implicits und anderen Dienstprogrammen importieren, insbesondere in der REPL:

import scala.collection.JavaConversions._
import scala.collection.{mutable => mut}
import com.myapp.db._
import com.orm._
val con = connectDb(...)
...

Ich verstehe, dass es keine Möglichkeit gibt, mehrere zu importierenPakete in Scala (obwohl Paketobjektbereiche etwas helfen können), aber wie sieht es mit der REPL aus? Gibt es eine Möglichkeit, dies von der REPL aus zu erledigen, ohne viel Kopieren und Einfügen? Ich habe auch Folgendes versucht: load, aber die dort importierten / erstellten Dinge werden nicht in den Geltungsbereich der REPL eingefügt. Mir ist aufgefallen, dass der: Power-Befehl tut importiere die Dinge in den Umfang.

Aktualisieren: :load tatsächlich tut Arbeit.

Antworten:

12 für die Antwort № 1

Ich bin nicht sicher, ob es eine allgemeine Lösung gibt, aber in SBT ist es möglich, das Projekt so zu konfigurieren, dass die Konsole (REPL) beim Start einige erste Befehle ausführt. Hier ist ein Auszug aus einem Beispiel build.sbt Datei,

// set the initial commands when entering "console" only
initialCommands in console := "import myproject._"

Bearbeiten: Eine weitere Referenz ist das Scalala-Projekt. Sie haben ein Scala-Programm Das startet eine eingebettete REPL und füllt die erforderlichen Importe aus. Zur Verwendung siehe deren Schnellstartanleitung.