Javaプログラミング/Javaプログラミング関連情報

スクリプトでJavaを使おう!(3ページ目)

「BeanShell」というスクリプトとしてJavaコードを実行できるシェルで遊んでみましょう。

執筆者:掌田 津耶乃

記憶される実行情報


このBeanShellは「対話型」のスクリプト環境です。対話型の最大の特徴、それは「実行した内容を記憶している」という点です。例えば、こんなコードを実行してみましょう。

bsh % x = 100;


「あれ? int x = 100;じゃないか?」と思った人。もちろん、Javaならそうです。が、BeanShellはあくまで「スクリプト処理環境」です。Javaの言語仕様にそって書かれたコードを解釈できるということであって、「Javaそのもの」というわけではありません。例えば、ここに書いたように、変数のタイプを指定しなくとも動いてしまいます。そのあたり、いかにも「スクリプト的」な使い方ができるのですね。

さて、ここに書いたコードにより、変数xに100が設定されました。これを実行することで、BeanShellの内部では、変数xがメモリに割り当てられ、そこに100が設定されたわけです。つまり、実行した結果生まれた変数xは、この後もずっと(シェルを終了しない限り)存在し、利用することができるようになるのです。

bsh % System.out.println(x * 2);


<New Bsh Workspace>変数xが保持され、いつでも使えるようになっていることがわかる。


例えば、こんな具合に実行すれば、「200」と出力されます。変数xが生きていることがわかりますね。――ところが、ここでもうちょっと面白いことにも気がついて欲しいのです。デスクトップ部分をクリックして<New Bsh Workspace>メニューを選び、新しいウインドウを作ってください。そして、こちらで、

bsh % System.out.println(x * 2);


まったく同じコードを実行してみましょう。今度は、「// Error: EvalError:」といったエラーメッセージが表示されます。この新しいシェル・ウインドウの中では、変数xは存在しないのです。

<New Bsh Workspace>新しいウインドウでは、変数xを使おうとするとエラーになる。


このように、BeanShellでは、ウインドウごと(というより、実行しているシェルごと)に実行される内容は独立して管理されます。あるシェルから実行した結果は、そのシェルの中だけで通用するのです。

ということは? 複数のシェルを開いて操作すれば、同時に複数のプログラムを処理することもできるというわけです。これは、使いこなせばなかなか強力そうですね!


  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 6
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます