== Rhino処理系を使ったプログラムの書き方 == Rhinoはインタプリタで、会話型で利用できます。 インタプリタでは入力した命令がただちに実行され、結果がすぐわかります。 これは長所でもありますが、短所でもあります。 入力されたプログラムであっても、実行されない部分は 文法チェックも行われない可能性があります。 このため コンパイラの場合とデバッグ手順が異なります。 プログラムは 少しずつ確かめながら作成しましょう。 === 例1 === . {{attachment:toi1.png}} やさしい問題におきかえて考える。 次の和のほうが簡単ですね。 . 1+2+3+ ... + 100 繰り返しの回数が少ない場合で確かめる。 . 問題は100項までの和ですが、5項、10項程度で考えてみる。 . 必要に応じ print を挿入して、途中結果を表示させる。 . ループの最初と最後を確認する。 結果は正しいのか? . 項数の少ない場合の正しいを電卓等で計算し、プログラムの出力結果と比較します。 . 問題によっては複数の場合を確かめる必要があります。 === 例2 === . {{attachment:toi2.png}} こんな問題におきかえて考えましょう。 . 1+3+5+7+9+ ... . 1-3+5-7+9- ... ---- == エディタを使った作成と実行 == エディタを使ってプログラムを作成し実行することもできます。 直接実行できるようなプログラムのことをスクリプトと呼ぶこともあります。 エディタで作成するときは、 次のような形式で作成し、 拡張子を .js として保存します。 * 命令を実行順に並べて記述する。 * 使う変数は、初めに var で宣言する。 * 必要に応じてコメントをつける。 * インデントを行うこと。 例 (sample1.js として保存) {{{ // 1から9までの和を求める var sum, i; sum = 0; for (i=1; i<10; i++) { sum = sum + i; } print(sum); }}} rhinoのプロンプトで load命令を用いて読み込むことで実行します。 {{{ [xxx@e217x ~]$ rhino js> load('sample1.js'); 45 js> }}} ---- === 構文(Cと異なるもの) === ==== var ==== 変数の宣言。ECMAscriptの文。 . {{attachment:var1.png}} ==== print ==== 表示を行う。rhinoの関数。 . {{attachment:print1.png}} ==== load ==== ファイルから読み込む。rhinoの関数。 . {{attachment:load1.png}}