Scala - Inicializar o ambiente REPL

-Oi. Eu gostaria de incorporar Scala REPL comambiente inicializado no meu aplicativo. Eu olhei paraIMain classe e parece que eu poderia fazer isso por instância dele. A instância é criada e depois armazenada emintp var público emprocess() doILoop.

Como posso ligar alguns nomes e / ou adicionar algumas importações antesprocess() (por exemplo, antes de REPL)?

O seguinte código falha na linha 3 porqueintp ainda não está criado (=> NPE):

    val x = 3
    val interp = new ILoop
    interp.bind("x", x) // -> interp.intp.bind("x", x)
    val settings = new Settings
    settings.usejavacp.value = true
    interp.process(settings)

Obrigado-.

ATUALIZAÇÃO: substituindocreateInterpreter() infelizmente não funciona:

    val x = 3
    val interp = new ILoop {
        override def createInterpreter() {
            super.createInterpreter()
            intp.bind("x", x) // -> interp.intp.bind("x", x)
        }
    }
    val settings = new Settings
    settings.usejavacp.value = true
    interp.process(settings)

O intérprete fica preso na entrada (parece um impasse, acontece apenas com o código acima):

x: Int = 3
Failed to created JLineReader: java.lang.NoClassDefFoundError: scala/tools/jline/console/completer/Completer
Falling back to SimpleReader.
Welcome to Scala version 2.9.2 (OpenJDK 64-Bit Server VM, Java 1.7.0_06-icedtea).
Type in expressions to have them evaluated.
Type :help for more information.

scala> println
<infinite_sleep>

Obrigado dvigal por sugestão.

questionAnswers(2)

yourAnswerToTheQuestion