2009-04-24 8 views
66

最近私はJavaプログラミングに多くの時間を費やしました。スクリプト言語から見逃していることの1つは、コンソールでそれらをテストすることでした。Java用のPythonのような対話型コンソールはありますか?

Javaプログラムをすばやくテストするには、ファイルを編集してからバイトコードに変換して実行する必要があります。 IDEを使用していても、372時間後には楽しいものになります。

インタラクティブコンソール(JITコンパイラが必要です)とオートコンプリート(リフレキシビリティあり、可能であれば)のようなものがあるかどうかを知りたいと思います。 Javaがうまくクラスの構造なしで定義されていないため

はたぶんそれは、全くない私は知っているか、完全に不可能何かしないことが非常に一般的なものですが、

答えて

35

:-)その最悪尋ねるとそうです。しかし、いくつかの近似値は、Groovy,Clojure,ScalaおよびBean Shellである。

+5

のJava 9で今標準です。 –

+1

合意。私はemacsで[JDE](http://jdee.sourceforge.net/)を通してBeanShellを使います。それは完璧ではありませんが、コンソールと通常のJavaファイルの編集の両方で、対話型のコンソールと適切な補完サポートを提供します。 –

+0

確かに、それは非常に原始的ですが、何よりもはるかに優れています。あなたに感謝し、それをコード化した人に感謝します:-) –

2

Groovyに興味があるかもしれません。

0

私はたまに同じ問題を抱え、部分的な解決策があります。私はファイルの周りを(チャーリー・マーティンが言ったように、Javaはクラス・コンテキストを必要としている)テスト・プログラムにすぎないものです。 2番目のウィンドウ(コンソール)には、ソースファイルの修正時間を1秒おきにチェックするスクリプトがあります。ソースの変更を見ると、それは再コンパイルされます(私は通常Cで動作しますが、これもJavaで行いました)、結果を実行します。

それは素晴らしい解決策ではありませんが、その速い一回限りであり、私はそれが非常に有用であることがわかりました。

4

私がある程度成功したアプローチは、Eclipseでデバッグして表示ビューを使用することです。表示ビューには、Java文を実行することによって現在JVMで実行されているコードを操作する機能があります。停止した特定のブレークポイントで使用可能なオブジェクトは、表示ビュー内の有効範囲内にあります。これは正確にはあなたが探しているものではありませんが、REPLが他のプログラミング環境に提供する機能のいくつかを提供しています。詳細については、Debugging with the Eclipse Platformを参照してください。

+0

私はまだScala IDE Eclipseプラグインを好んでいますが、プラグインをインストールすることが望ましくない場合は、EclipseのJDTに組み込まれているREPLインタープリタに最も近いデバッグ方法があります。 :) –

+0

表示ビューから式の値を表示する方法は?たとえば、次のような文章を書くとします。 文字列s = "Hello World"、s1 = s.substring(3、5); s1の値を知る方法は?私は道を見つけることができません – zakmck

+0

's1'を強調表示してコンテキストメニューを表示することができます。そこには、あなたが望むことをする 'Display'というラベルの付いた項目があります。 – laz

10

ぼんやりとすれば、Jythonの対話型コンソールが得られます!あなたは多くの Pythonのようなものを得ることはありません。

4

Scalaインタラクティブインタープリタも実行できます。

1

Jgrasp IDEは、私はそれをたくさん使用 、あなたがテストすることができ、対話型コンソールを持っており、あなたがそれらをdeklareいるvariabelなど efterを示すデバッグビューは、ALOSあります。

それはopensoruceであり、あなたは、あなたが任意のJavaコードを実行するためにBeanShellを使用することができます http://www.jgrasp.org/

//アンダース

+0

私はJGraspを見回しましたが、対話型のコンソールを見つけることができませんでした。 – Casebash

2

ATTコピーを入手することができます。 Eclipseの統合が必要な場合は、EclipseShellにBeanShellのサポートがあります。

9

Try Dr Java's "インタラクションペイン"IntelliJのプラグインと http://www.javarepl.com/term.html

+0

ええ、本当にそれが欠けています。今私はEclipseに変更しますが、Eclipseでインタラクションペインを取得する方法はわかりません。 –

3

JShellは、私はBeanShellのが好き JShell introduction

+0

これは投票よりも今より良い答えです(11月以降)、多分それは@ e-satisとして受け入れられるべきです。 – TGar

関連する問題