2010年2月28日日曜日

たけうちとおるさんの19)検索置換を読む その2

main(findrepAry);

/*
CとJavaScriptの違いより
HTML コードがすべて読み込まれると,
関数 main が実行されるので,
最初に実行したいコードを関数 main に書きます.

とあるから、置換リストを読み込んだ後、mainを実行するのでは?
と分からないなりに推測

3/1追記:全体を管理するための機能が「main関数」らしい。
http://kogolab.jp/elearn/c2002/2/main.html
ここでmain(findrepAry);とやり、次にfunction main(findrepAry){とくるのが分からないが進める。
*/


function main(findrepAry){

/*
function 関数名(パラメータ){
処理
}の構文

3/1追記:
functionはfunctionは関数を定義するユーザー定義関数。関数宣言と解してもいいよな?
パラメータとは引数リストのこと
*/

if (app.documents.length == 0){
alert("ドキュメントを開いてください");
return;
}

/*
if ( 条件){
処理
}の構文
return;の意味がよく分からない
呼び出しもとに結果を返すにはreturn を使かっているが、
return の後に返したい結果が書かれていない

まて、「Perlの絵本」を読むと戻り値のないサブルーチン
として、return;がある
もう一度、「JavaScriptの絵本」を読み返す
戻り値のないreturn文は省略できると書いてある
return;はなくても動作するようだ
*/

if (app.selection.length == 0){
alert("オブジェクトを選択してください");
return;
}

/*
最初と同じ様にelseのないif文だから
条件が成り立つときは処理を行ない
成り立たないときは何もしない
*/

//↓ここから読んでて頭が痛くなりそうだから次回
var mySele = app.selection;

出社前に書き込み。
Perlで最初につくったスクリプトはs/検索文字/置換文字/g;で完結してしまっただけに、配列やif文は目を通しただけ。しかし、読んで見ると使い方はどうも同じらしい(違う箇所もあるのだろうが)。
で、コメントに書き込めなかったが、lengthはプロパティで文字列の長さ、エレメント(部品)数の参照、履歴の数の参照をするようだ。ちと時間がかかりそうな予感。

1 件のコメント:

たけうちとおる さんのコメント...

関数mainを読んでいるのにはわけがあります。

なぜならドキュメントがなかった時やなにも選択されていない時にreturn;で(何も値を返さないのですが)関数を抜けて終了できるからです。

そうでなければ

if(ドキュメントがあれば){
if(選択されていれば){
処理
}
}

という書き方になります。どっちでもいいのですが
あまりif文を入れ子にしていくとこんがらがるのでこのようにしました。