PythonのインタラクティブREPLモードのようなものはありますが、Java用ですか?たとえば、InetAddress.getAllByName( localHostName )
ウィンドウに入力してすぐに結果を取得できるように、この静的なvoidのナイトメア()の静的なことは何もありませんか?
PythonのインタラクティブREPLモードのようなものはありますが、Java用ですか?たとえば、InetAddress.getAllByName( localHostName )
ウィンドウに入力してすぐに結果を取得できるように、この静的なvoidのナイトメア()の静的なことは何もありませんか?
回答:
元の答えは次のとおりです
Groovyコンソールを使用することもできます。それはあなたがやりたいことができるインタラクティブなコンソールです。GroovyにはコアJavaプラットフォームのクラスも含まれているため、それらのクラスも使用できます。
次のようになります。
System.exit()
)が、ほとんどの目的にはそれで十分です。
class test{public static void test(){System.out.println('test')}}
Eclipseにはこれを行う機能がありますが、ループではありません。「スクラップブックページ」と呼ばれています。たとえは、コードの小さな断片を集めるスクラップブックを持っていることだと思います。
とにかく、それを機能させるために、Eclipseでプロジェクトを開きます(Scrapbookページはプロジェクトに関連付けられます-プロジェクトが物を所有する場合、Eclipseはそれを好みます)。
次に:
これでスクラップブックのページができました。次のようなコードを入力します。
System.out.println(System.getProperties());
次に、マウスでテキストを選択し、Ctrl-Uキーを押すか、コンテキストメニューから[実行]を選択します。コードが実行され、出力がコンソールに表示されます。
式を入力して選択し、コンテキストメニューから[表示]を選択することもできます。式を評価し、その型を出力します。たとえば、Display on 1 + 2
を実行すると、が印刷されます(int) 3
。
BeanShellは、Javaで記述された、オブジェクトスクリプト言語機能を備えた、小さな無料の埋め込み可能なJavaソースインタープリターです。BeanShellは標準のJava構文を動的に実行し、PerlやJavaScriptのようなルーズタイプ、コマンド、メソッドクロージャなどの一般的なスクリプトの便利さで拡張します。BeanShellをインタラクティブに使用して、Javaの実験とデバッグを行ったり、アプリケーションを新しい方法で拡張したりできます。Javaのスクリプトは、ラピッドプロトタイピング、ユーザースクリプト拡張、ルールエンジン、構成、テスト、動的展開、組み込みシステム、さらにはJava教育など、さまざまなアプリケーションに適しています。
http://www.beanshell.org/manual/syntax.html#Standard_Java_Syntax
Eclipse Scrapbookページを使用できます。
EclipseでScrapbookページを作成します。プロジェクトで、「新規」->「その他」->「スクラップブック」ページ。
ファイルにテキストを入力して選択し、ctrl-Uを押してください。
インポートを管理するには、ページを右クリックして[インポートの設定]を選択します。ここで、パッケージまたは単一のクラスをインポートすることを選択できます。これは永続的であり、ページとともに保存されます。
古い質問ですが、今より良い答えがあります(2013年5月)-java-REPL!これはgithubから入手でき、java-repl Webサイトからライブで入手して、1回限りのテストをすばやく行うこともできます。
gitハブコードを取得して実行ant
し、アーティファクトを生成すると、次のような小さなスクリプトで簡単に使用できるようになります。
#!/bin/sh
java -jar /home/rdahlgren/scripts/javarepl-dev.build.jar
このプロジェクトを見つけて以来、おそらく1日に5回使用しています。楽しい!
Java(6、7)にはREPLコンソールと呼ばれるが付属しているとのことjrunscript
です。これは言語に依存しません(したがって、Jython、JRubyなどで使用できます)。デフォルトではJavaScript(Rhino)がデフォルトでバンドルされており、他の言語と同様に、クラスパスで利用可能なすべてのパッケージ/オブジェクトにアクセスできます。
JShell(Oracleによって開発)と呼ばれるREPL がJDK 9の一部としてリリースされました。
JDK 9をダウンロードして起動しbin/jshell
ます。
Groovyの代わりに、Beanshellを試してください:http : //www.beanshell.org/
これはJavaに似ており、Java構文を直接使用できます。
Jythonは、Javaオブジェクトを検査および操作できるPython実装です。
>>> from java.net import *
>>> InetAddress.getAllByName("google.com")
array(java.net.InetAddress,[google.com/209.85.171.100,
google.com/74.125.45.100,
google.com/74.125.67.100])
Albert LataczによるJava-REPLはうまく機能します。
ブラウザから直接試すことができます:http : //www.javarepl.com/term.html
ソースコードはここから入手でき、まともなIntelli-Jプラグインがあります。
グルーヴィーコンソールは、あなたがそれを行うことができます。これは実際にはgroovyコードを試してテストすることを目的としていましたが、groovyはJavaのスーパーセットであるため、プレーンJavaのものも使用できます。
これをコンソールに入力しました:
InetAddress.getAllByName('localhost')
CTRL-Rを押すと、次のように戻りました。
groovy> InetAddress.getAllByName('localhost')
Result: [localhost/127.0.0.1]
Scalaはインタラクティブコンソールも提供しています。次のように、InetAddressを完全に修飾することで、質問の式の結果を取得するために使用できました。
java.net.InetAddress.getAllByName("localhost")
一方でJRubyの、BeanShellの、ジュリアン・フライシャーのREPLがあるアルバートLataczのREPLは最新かつ有効であるように思われます。
簡単なクラス定義で試してみましたが、うまくいきました。
$ java -jar javarepl.jar
Welcome to JavaREPL version 56 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17)
Type in expression to evaluate.
Type :help for more options.
java> public class Test {
| public static void execute(String [] s) {
| System.out.println(54353 + s[0]);
| }}
java> Test.execute(new String [] {"234343"});
54353234343
java> System.exit(0);
Mathematicaにアクセスできる人のために、JLinkはMathematicaコードでJavaとスクリプトにアクセスできるようにします:
Needs["JLink`"]
LoadJavaClass["java.net.InetAddress"]
InetAddress`getAllByName["localhost"]
Shift-Enterを押して評価すると、
{<<JavaObject[java.net.Inet4Address>>}
次に、MathematicaのMap関数を使っtoString
て返されたオブジェクトを呼び出すことができます:
#@toString[]& /@ %
結果を取得するには(またはあまり明確でない構文を使用するには、Map[Function[obj, obj@toString[]], %]
):
{"localhost/127.0.0.1"}
これに真剣に取り組むようになったら、http: //reference.wolfram.com/mathematica/JLink/tutorial/Overview.htmlにあるTodd Gayleyのチュートリアルを読むことをお勧めします。
Groovy(Groovy Consoleについて触れたので知っていると思います)をすでに知っている場合は、Groovyディストリビューションに含まれているgroovyshまたはgroovyConsoleを使用してください。インポートしたいカスタムjarがある場合は、クラスパスに追加されたgroovysh / groovyConsoleを起動するバッチファイルを書き込むことができます。これもできます
this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
シェル内から他のjarをロードします。
私は数年前にJythonを使用して、あなたが求めていることだけを行いました。ビルドスクリプトの一部として、作業中のプロジェクトの完全なクラスパスを含むカスタムjython.batおよび.pyファイルを生成しました。そうすれば、Jythonを起動したときに、すべてのコードが利用可能になり、Springが起動してライブシステムの機能をいじることができます。Groovy、JRuby、BeanShellなどでも同じことができます。
jruby http://kenai.com/projects/jruby/pages/CallingJavaFromJRubyを使用してJavaをスクリプト化できます
ほとんどのIDEには、「即時モード」のようなウィンドウがあり、その場でJavaコードを評価できます。
Java 8の場合、nudge4jがあります。https://github.com/lorenzoongithub/nudge4jを参照してください
...そして美しさは、ブラウザからアプリケーションをパイロットできることです
JPadは、REPLが組み込まれたJavaスクラッチパッドです。
C:\>jpad
_ _____ _
| | __ \ | |
| | |__) |_ _ __| |
_ | | ___/ _` |/ _` |
| |__| | | | (_| | (_| |
\____/|_| \__,_|\__,_|
Anything you type is evaluated as java.
The code is continuously appended until you call \clear.
Other Available Commands:
\exit - exit
\clear (n) - clear past java statements
\history - display all past java statements
\help - display this help
j>2+2
4
j>Math.sin(100.1)
-0.4177477
j>
コレクション、リスト、マップなどをダンプすることも賢く、それらをテーブルまたはチャートとしてレンダリングできます。