プログラム記述形式 ■ プログラム構文Hello, world のプログラムは実行文がひとつだけでしたが、複数の実行文を記述することが可能です。 for(var i = 0; i < 10; ++i) console.writeln("hello, world");は、画面に10行の "hello, world" を表示します。 このような記述形式はBASICで育った方々には親近感があるかもしれませんが、 C/C++で育った方々には違和感があるのではないでしょうか? そんな方々のために、以下のような記述も可能です。 function main() { for(var i = 0; i < 10; ++i) console.writeln("hello, world"); }もちろん、他の関数やグローバル変数を宣言することができます。 function fuct(n) { return n < 2 ? 1 : n * fuct(n - 1); } function main() { for(var i = 0; i < 10; ++i) console.writeln("fuct(" + i + ") = " + fuct(i)); }この様に ViViScript のプログラムはどちらの記述形式も可能になっています。 【構文】 プログラム: [ 文 ]... // 注意: [ ]... は括弧内の0個以上の繰り返しを意味する 文: 宣言文 定義文 実行文構文を上に示したように、プログラムは文の並びで、文には宣言文、定義文、実行文があります。 宣言文とは var i; の様に何らかのオブジェクトの存在を規定するもので、 定義文とは function max(a, b) { return a >= b ? a : b; } の様にオブジェクトの内容を規定するものです (実は ViViScript では関数本体もオブジェクトの一種です)。 実行文は console.writeln("hello, world"); の様に何らかの動作を行うものです。 したがって、プログラムの記述形式はユーザの好みに応じて選択できるというわけです。 ■ 実行順序実行文はプログラムの最初から順番に実行されますが、関数定義はその時点では実行されず、 定義した関数がコールされて始めて実行されます。"main" 関数だけは他の関数と異なり、 すべての実行文が実行された後に、システムによりコールされます。 console.writeln("line-1"); function foo() { console.writeln("line-2"); } console.writeln("line-3"); function main() { console.writeln("line-4"); } foo(); console.writeln("line-6");を実行すると、 line-1 line-3 line-2 line-6 line-4と画面に表示されます。確かめてみてください。 ■ 行の意味プログラムでは(文字列内や // コメントを除いて)改行やスペース類は区切り記号以上の意味を持ちません。 これはC/C++と同じです。プログラムが読みやすくなるように、適当な位置で改行しましょう。 間違っても以下のようなコードは書かないようにね。 function fuct(n) { return n < 2 ? 1 : n * fuct(n - 1); } function main() { for(var i = 0; i < 10; ++i) console.writeln("fuct(" + i + ") = " + fuct(i)); } ■ コメントプログラムの文書性を向上するためにコメントは不可欠です。 ViViScript では C/C++ と同じ様に //、/* */ をサポートしています。 // は行末までをコメントとし、/* */ はその間をコメントとします。 コメントのネストはサポートされておらず、/* は無視されます。 var a = 1; // 変数 a を定義 // a += 1; /* a += 10; a += 100; */ console.writeln(a);の実行結果は "1" となります。 |