2010-03-16 149 views
10

我想從命令行啓動一個Scala Swing應用程序,然後在應用程序啓動後,放入Scala REPL以用作控制界面。以編程方式啓動Scala REPL?

理想情況下,我還想預先綁定一些變量名稱。更好的辦法是使用REPL的Java2D終端仿真器,但我找不到合適的東西。

Scala REPL有一個公共API嗎?

回答

12

您可能會問起同樣的事情,如this question,是嗎?還有其他的東西你可以做。有一種方法只需要用代碼調用REPL,然後得到一個答案,這取決於你想要什麼,可能更合適。如果這就是你想要的,只需澄清一下,我會研究它。

至於Java2D終端,我認爲這足以使用ConsolesetIn,setOutsetErr,但我可能會誤解。你可能想看看在環境中嵌入REPL的一些其他工作。我認爲其中至少有三個,但只能快速搜索Kojo,它基於Netbeans。

+2

完美,在單獨的線程中調用scala.tools.nsc.Interpreter.break(DebugParam(「i」,i))。謝謝!下次我必須更仔細地搜索。 – 2010-03-16 19:41:53

+1

@David好的。請注意,這可以訪問您自己的程序,這可能不是您想要的。如果你只是想要一個REPL,看看scala腳本如何調用REPL,然後查找那個類的源代碼。 – 2010-03-17 01:56:03