◆For文
For文は、初期化式・条件式・増減式を設定し、その条件を満たしている間繰り返し(ループ)します。どのように記述するかというと、下記のようになります。構文
for (初期化式; 条件式; 増減式) {
実行文;
実行文;
}
実行文;
実行文;
}
- 初期化式って?
- 最初って思ってください♪(ぉぃ)繰り返しさせるための管理する変数ループ変数って言うらしいです。私は勝手に作業変数なんて言ってたりします。その初期値または、それを表す式のことを指します。値であっても式で表します。
- 条件式って?
- ループ変数(作業変数)が、どのような状態になるまで繰り返し作業をさせるかの判断基準となる式(値)のことです。
- 増減式って?
- 初期化式に設定された式(値)に対してループ変数(作業変数)の中身を増減していくための式です。初期値に一回の繰り返し(ループ)に対して1加える1減らすなどの作業をするのが一般的です。
for ($i=0; $i<10; ++$i) {
print "おはよう!!\n";
print "ございます。\n";
}
print "おはよう!!\n";
print "ございます。\n";
}
上の表現を日本語に訳すとこうなります。
変数iは最初0です!
変数iが10より小さければ{}で囲まれている実行文を実行しなさい!!
おはよう!!と出力しなさい。
ございます。と出力しなさい。
実行が終わったら変数iに1加えなさい。
変数iは今1だから10より小さいです。
おはよう!!と出力しなさい。
ございます。と出力しなさい。
実行が終わったら変数iに1加えなさい。
以降繰り返していきます。(^−^;;(手抜き)
もっと意訳するとこうなります。
おはようございますを、10回繰り返して出力しなさいって事です。
私ががプログラミングする時って結構日本語に訳して考えてたりします。サーバとお喋りしてるみたいでしょ・・・。でも決してぁゃιぃ行動と思わないで下さいね(^−^;;;英会話を習うよりは単語も少ないし、入り込みやすいと思ってたりもします。
◆Foreach文
foreach文は配列などの値のリストを一つずつ取り出して変数に代入し、{}で囲まれている部分を実行・ループさせる命令です。配列の最後の値まで繰り返します。構文
foreach スカラー変数 (配列またはリスト) {
スカラー変数を使った実行文;
}
スカラー変数を使った実行文;
}
- スカラー変数
- 配列またはリストから取り出したスカラー値が代入されます。これを使って様々な処理・計算等をさせていきます。
- 配列またはリスト
- これらはスカラー値で形成されたものを扱います。この配列またはリストの全てのスカラー値を取り出すまでループされます。またこの()内でsort(配列名)やreverse(配列名)などの関数を用いて並べ替えや逆順などをさせてから処理・計算させることも可能です。
- スカラー変数を使った実行文
- 取り出したスカラー値を使っていろいろな実行文を記述してください。
foreach $line (@line) {
print "$line";
}
print "$line";
}
日本語に訳すと・・・
配列@lineに入っているスカラー値を$lineに最初から一つずつ取り出し代入していきます。
取り出した$lineを出力しなさい。
次のスカラー値を取り出しなさい。
出力しなさい・・・。
意訳すると・・・
配列に入ってるデータを一つずつ取り出し、終わるまで出力し続けなさいってことです。
また、スカラー変数名を省略して記述することも可能です。その場合、取り出されたスカラー値は$_に代入されますので覚えておくと良いでしょう♪
foreach (@line) {
print "$_";
}
↑こう言うことね♪(^−^;;print "$_";
}
◆while文
while文は条件が満たされている場合(真の場合)に{}で囲まれた部分を繰り返し(ループ)させる命令です。またこれを用いて無限ループも作れます。構文
while (条件文) {
実行文;
実行文;
}
実行文;
実行文;
}
- 条件文って?
- 変数どうしや、定数などを比較演算子・論理演算しなどを用いて条件づけしてあげましょう。
$i = 1;
while ($i<=10) {
print "ループ$i回目です。";
$i = $i + 1; # $i = $i++; と表現もできます。
}
while ($i<=10) {
print "ループ$i回目です。";
$i = $i + 1; # $i = $i++; と表現もできます。
}
日本語に訳すと・・・
変数$iに1を代入しなさい!
変数$iが10以下なら{}内の実行文を処理しなさい。
出力しなさい。
変数$iに変数$iに1を加えた数を代入しなおしなさい!
変数$iが10以下なら{}内の実行文を処理しなさい。
出力しなさい。
変数$iに変数$iに1を加えた数を代入しなおしなさい!
・・・。
意訳すると・・・
変数$iが10以下ならずっとループしてなさいな!!ってこと( ´Д`)b
無限ループを作りたいときは、条件文のことろを『1』にするのが一般的に好まれてるらしいです(^−^;;(謎)
while (1) {
実行文;
実行文;
}
実行文;
実行文;
}
但し無限ループは使い方を間違えるととんでもないことになるのは、誰でも判りますよね?エンドレスのプログラムは不味いです( ´Д`)
そこで、実行文の中にlastと記述して、強制的にループを抜け出させるんです。これは、あとで説明しますが、主に条件分岐if文などと併用して扱われることが一般的です。最初のうちは使わない方が良いかもね♪
□初級編 プログラミングに入る前に
第四章 Perlでよく用いられる記号たち | |
・変数・配列 | プログラミングって?変数と配列って? |
・演算子・比較演算子 | 演算子の紹介と文字化け |
・コメント・簡単な命令文 | コメントの重要性と命令文の種類 |
第五章 データを受け渡してみよう | |
・POSTとGET | フォームからのデータ受取 |
・デコード方法 | デコードって?ライブラリの使用 |
・jcode.pl | jcode.plって何? |
・出力させてみよう | フォームを使ったデータを出力させてみる |
第六章 プログラムの中身って? | |
・繰り返し文<< | for文、foreach文、while文の使い方 |
・条件分岐 | if文の使い方、パターンマッチについての説明 |
・サブルーチン | なにものだ?!利用方法を説明 |
・ファイルの入出力 | 外部ファイルの読み込み書き出しについて |
第七章 改造してみよう! | |
・文字や画像の差し替え | まずは簡単なところから |
・レイアウトの変更 | 駄目元でもいいからやってよう |
・やってはいけないこと、エチケット | 守ってね♪ |