2012-03-05 22 views
15

我有一個包含幾行scala代碼的文件 - 導入,列表賦值等,我經常用它來初始化使用REPL時的一些事情。如何在scala交互式解釋器(REPL)中運行外部文件?

目前我只是在文本編輯器中打開文件,並將其複製並粘貼到REPL中,但有沒有辦法通過以更直接的方式調用外部文件,所以我沒有每次都要複製並粘貼?

在某些交互式數據庫工具(如SQL Plus)中,通過在提示符下輸入@filename來完成。 Scala REPL有類似的東西嗎?在@前面的文件名不起作用,eval也不起作用。

回答

23

類型:

:help 

,你看,那

:load <path>    load and interpret a Scala file 

解決您的問題。

在某些情況下,粘貼代碼可能是最好不過,但隨後

:paste 

可能是你的朋友呢。它有助於插入一個沒有反饋的整個塊,一行一行,直到你點擊了Ctrl + D。在某些情況下,這對代碼解釋很重要。

+0

謝謝,這工作!我無法在網絡上的任何位置找到REPL的文檔。我甚至不知道':help'會顯示(有限)幫助;我在Windows命令提示符下嘗試了其他的東西,比如'scala /?'和'scala -help',以及REPL中的'help'和'?'。 – Gigatron 2012-03-05 02:39:13

+0

你從哪裏學習':paste'?它沒有用':help'列出。顯然你可以訪問我不知道的文檔。我也想知道':power'是什麼。 – Gigatron 2012-03-05 02:45:29

+0

':paste'是2.9的新東西,我猜是2.9.1。 ':power'有點老,我從來沒有用過,除了看它是什麼。我想我從郵件列表中知道它。從scala主頁我找不到關於':power'或REPL的簡要文檔。 – 2012-03-05 03:33:57