Rhinoプログラムの作成と実行

Rhinoへの質問(入力)を順に記述したものがプログラムになります。

プログラム

コンピュータと会話するときに１つずつ質問を入力しては答を得るのではなく、いくつかまとめて質問できると便利ですね。 質問内容をファイルに記述しておき、そのファイルを読んで処理するように指示できます。 質問（処理）内容を順に記述したものをスクリプト またはプログラム と呼びます。

プログラムの作成はテキストエディタ（テラパッド）を使って行います。

rei.js という名前でproディレクトリの中に保存します。（reiの部分はそのつど変わります）

プログラムの実行は Rhino との会話画面で行います。

シングルクオートの内側の rei の箇所はそのつど変わります。

上の絵のどの部分と対応しているか確認してください。

プログラムを実行する

プログラムを読み込むには load 命令を使います。

JS> load( 'ex0516.js' );

のように load( と ); の間にファイル名をシングルクオートで挟んで入力します。

load命令を入力すると、指定されたファイルを読み込んで、ファイルに記述された内容（プログラム）にしたがって処理します。

プログラム内に計算の指示があれば計算が行われ、表示の指示があれば表示が行われます。

処理はプログラム内に記述された順に、１行目から順に行われます。 表示はプログラム内で指示したものだけ行われます。

プログラムに間違いがあったときには、エラーメッセージが表示されるので、プログラムを修正してからもう一度loadを行ってください。

例

JS> load( 'sample.js' );プログラミング入門8

プログラムの動作確認

プログラムを作成したら、必ず、正しく実行されるか確かめなければなりません。

実行結果（コンピュータからの反応）が自分の予想した通りになっているか、そうでないかを判断してください。

予想どおりでないときは、なぜ予想とちがうのか考えましょう。

エラー対応

会話画面でエラーが出たとき（英文のメッセージが表示される）の対応方法。

メッセージの先頭付近に <stdin> とあるときは、会話画面での入力に誤りがあるか、プログラムが保存されていないかです。 それ以外のメッセージのときは、プログラム内に誤りがあります。

ちょっと便利な使い方

会話画面で ↑ (上向き矢印)を押すと、直前に入力したものと同じ内容が現れます。 この方法を覚えると、何度も load('filename.js'); を打たなくても済みます。

エラーメッセージ

１） JS> に対して入力した命令（ load命令 ）に間違いがあったときは

js: "<stdin>", line 4: uncaught JavaScript runtime exception:

のようにエラーメッセージの先頭が "<stdin>" になります。

２） 入力時の間違いでよく現れるのは次のメッセージです。

js: "<stdin>", line 5: Couldn't open file "filename"

これはload命令で指定したファイルが見つかりませんというエラーです。

３） load命令は正しいけれども、loadしようとしたプログラムの中に文法的な誤りがあるときは、数行にわたる表示がされます。

js: "file1.js", line 4: missing ) after argument listjs: print ( 3b );js: ..........^js: "file1.js", line 1: Compilation produced 1 syntax errors.

メッセージの先頭部分には処理しようとしているファイル名が示されます。 その右にはエラーが見つかった行番号とエラー内容が表示され、 次の２行を使って、見つかった位置を示しています。 最後の行は文法的なエラーが見つかったというメッセージです。 上の３行が間違いを探す手助けになります。

４） 文法的には正しいけれども分らない名前が現れたなどのエラーが発生したときの例です。

js> load( 'file2.js' )練習２320js: "file2.js", line 3: uncaught JavaScript runtime exception: ReferenceError: "b" is not defined.

エラーが発生した行より前の行まではプログラムが実行され、表示の指示があれば表示も行われます。 エラーメッセージの先頭部分には処理中のファイル名が示され、その右にはエラーが見つかった行番号とエラー内容が表示されます。

３）と４）の違いに注意してください。 プログラムのどこに間違いがあるのか知るためには、エラーメッセージの中から重要な箇所（赤字で示した箇所）を見つけ出せると簡単です。

デバッグ

プログラムの間違いを修正することをデバッグ（虫取り）と言います。

このときには、エディタを使った編集作業と、Rhinoとの会話という２つを切り替えながら行うことになります。 どちらの作業が必要なのか、エラーメッセージや実行結果を見て判断しましょう。

注意

保存した .js 形式のファイルはダブルクリックしても開けません。

再度編集したいときは、terapadを起動してから ファイルメニューを使って開く ファイルをterapadの画面にdrag&dropする のどちらかの方法で行います。