我經常使用Scala控制檯評估和測試代碼,然後纔將其實際寫入項目中。如果我想知道一個變量的內容,我可以輸入它並且scala會評估它。但是,還有一種方法可以顯示我輸入的方法代碼嗎?有沒有一種快速的方式來顯示在Scala控制檯中聲明的方法的代碼?
我知道有UP鍵顯示單行,但是我搜索的是一次顯示整個代碼。
我經常使用Scala控制檯評估和測試代碼,然後纔將其實際寫入項目中。如果我想知道一個變量的內容,我可以輸入它並且scala會評估它。但是,還有一種方法可以顯示我輸入的方法代碼嗎?有沒有一種快速的方式來顯示在Scala控制檯中聲明的方法的代碼?
我知道有UP鍵顯示單行,但是我搜索的是一次顯示整個代碼。
您的主目錄中有一個名爲.scala_history
的文件,其中包含您最近的REPL歷史記錄。我經常將此文件中的代碼複製並粘貼到項目源文件中。這與在REPL中顯示單個方法的代碼不完全相同,但它可能有助於實現相同的目標。
見保羅·菲利普斯的評論中this issue對於一些相關的功能在REPL討論(分組在歷史敘述):
在某些時候,我實現了這個邏輯,但真正的障礙 是jline。在最簡單的條件下找出光標在 之下的位置有足夠的麻煩。開始投入大型多行塊進入 的歷史,它流下了眼淚。希望看到這個和 SI-2547由社區解決。
...
我希望很快也解決這個問題,但是這取決於近期 的JLine工作有多好去。我很久以前就實現了它,並且顯示問題是 障礙。
這些評論都是兩歲多,所以我不會屏住呼吸。
我不知道從命令行加載所有代碼的命令。 你可以做的是:load path/to/my/file.scala
加載一些複雜的代碼,當你改變文件中的代碼時,它可以重新加載:load
。