Casi siempre tengo una sesión de Scala REPL o dos abiertas, lo que hace que sea muy fácil dar una prueba rápida a las clases de Java o Scala. Pero si cambio una clase y la vuelvo a compilar, la REPL continúa con la anterior cargada. ¿Hay alguna manera de hacer que vuelva a cargar la clase, en lugar de tener que reiniciar el REPL?¿Cómo volver a cargar una clase o paquete en Scala REPL?
Sólo para dar un ejemplo concreto, supongamos que tenemos el archivo Test.scala:
object Test { def hello = "Hello World" }
Compilamos y empezar el REPL:
~/pkg/scala-2.8.0.Beta1-prerelease$ bin/scala
Welcome to Scala version 2.8.0.Beta1-prerelease
(Java HotSpot(TM) Server VM, Java 1.6.0_16).
Type in expressions to have them evaluated.
Type :help for more information.
scala> Test.hello
res0: java.lang.String = Hello World
Luego cambiamos el archivo de origen a
object Test {
def hello = "Hello World"
def goodbye = "Goodbye, Cruel World"
}
pero no podemos usarlo:
scala> Test.goodbye
<console>:5: error: value goodbye is not a member of object Test
Test.goodbye
^
scala> import Test;
<console>:1: error: '.' expected but ';' found.
import Test;
Supongo que es un beneficio de las hojas de cálculo sobre REPL – nafg