![](/img/trans.png)
[英]Is there something like python's interactive REPL mode, but for Java?
[英]Why no Repl mode for Java
嗯,我知道這是一個愚蠢的問題,但讓我們思考一下。
為什么我們不能為Java提供repl模式或shell類型。 假設我只想做Math.max(2,3)
來獲取輸出3.它可以類似於Scala repl模式,默認情況下處理類和主聲明(它擴展到App
)並且只計算表達式。
技術上:
javac
進行一些修改 為每個JVM進程提供一個默認shell會很酷,在運行時,可以訪問或設置一些靜態變量並擁有實時信息。
所有這些都會被考慮過,但為什么它沒有被多數人接受(雖然有一些開源實現)
這或多或少完全是BeanShell的作用。
Eclipse中的Display視圖在此區域中提供了許多方便的行為,包括命令完成,對正在運行的應用程序堆棧的訪問以及通過System.out的控制台輸出。
就像@Sean建議你確實可以在repl模式下使用bean shell。
java -cp ./bsh-2.0b4.jar bsh.Interpreter
BeanShell 2.0b4 - by Pat Niemeyer (pat@pat.net)
bsh % System.out.println("Hello World");
Hello World
或者,eclipse IDE上不太知名的Display
選項卡可以執行任意java代碼並動態評估表達式。 Ctrl+U
運行表達式, Ctrl+Shift+I
計算它們。 它不是repl模式,而是接近。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.