FC2ブログ














スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

FileMakerで業務日誌を考える 14

いや〜どうも。

前回スクリプトの解説をしました。
スクリプトの後半部分についてもう少し説明して欲しいとのリクエストがありましたので今日はこれについて書きます。

さて、前回紹介したスクリプトがこれ↓
151018-0001.png

では、22〜27行目について説明します。

プログラミングではよくみかけるLoop処理です。
ただ、慣れない人には難しいかもしれませんね。

22行目で「これから繰り返し処理をやるぞ!」って宣言しています。どこまで処理するかというと26行目まで。
そんでもって、27行目で「ここで繰り返しは一旦おしまい。もういちど22行目に戻ってね」って宣言します。それがEnd Loopです。
つまり、22から27行目までの処理を延々とおこないます。これでは無限に処理を繰り返しますので、ある条件になったらLoopを抜けなさい!って命令する必要があります。

それが23行目 Exit Loop if [ $i > $q ] です。 [ $i > $q ] のところは条件式で、もし、$iが$qより大きくなったらループを抜けなさいって意味です。もう少し噛み砕いて言うと変数iがへんすうqより大きくなったらってことが書いてあります。

はて、変数iってなんでしょう?Loopの前の行を見てみましょう。
21行目変数iのことが書いてありますね。変数$iを1とするぞ!って。
変数を宣言した後Loop内の処理を行っていきますが、26行目に再び変数$iが出てきます。
今度は変数$iの値を$i+1にするぞ!って。

伊藤「ん、ちょっと待ってくださいよ、先輩」
伊藤「さっきまで、つまり25行目まで$iは1でしたよね」
わし「そうや」
伊藤「で、今度の$iは先ほどまでの$iに1を足すってことになるんですかね?」
わし「ご名答、その通りなんや」
伊藤「と、いうことは26行目の$iは1+1=2」「つまり、$i=2ってことですか」
わし「そう、FileMakerで業務日誌を考える 11 〜Virtual list とは5であるようにデータビューワーを使うと変数$iが1から2に変わっているのがわかるぞ」
伊藤「なるほど」

伊藤「でも先輩、ここからまた繰り返し処理が始まるじゃないですか」
わし「そやな」
伊藤「だとしたら、26行目でまた、変数$iを宣言しますよね」
わし「うん」
伊藤「今度は、25行目までの$iは2となっているので今度の$iは先ほどまでの2に1を足すわけですから3」「つまり、$i=3ってことですか」
わし「よう分かっとるやないかーい」

伊藤「で、またLoop内の処理を繰り返し26行目まで来る」
わし「すると」
伊藤「今度は3+1=4と」

わし「そうなんや、つまりこの変数iは繰り返し回数をカウントしているカウンターの役割をしているんや」
伊藤「なるほど$iについてはわかりました」「では、$qは?」
わし「それは次にしようや」

今回はここまでです。

繰り返し処理とカウンター用の変数について書きました。
分岐式ifと繰り返し処理Loopはスクリプトを作っていく上では基礎となります。慣れると面倒ではなくとても便利になりますので是非覚えましょう!
スポンサーサイト
[ 2015/10/21 20:54 ] 業務日誌 | TB(0) | CM(0)

コメントの投稿













管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL
http://iwkt.blog94.fc2.com/tb.php/535-dd7dfb8f









上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。