Perlのif文について使い方をまとめました。
if文の使い方
if文
//if文の構文 if(<条件式>){ <文> }
if文は最も基本的な条件式です。ifは日本語訳で「もしも」という意味です。
if文の構文である、if( <条件式> )<文> もしも<条件式> に合致する(true)ならば<文> を実行します。
例えば、変数a=1とし、<条件式>をa == 1とすると、a=1のため、条件文として当てはまります。
my $a = 1; if ($a == '1') { print 'aは1です'; } // 実行結果 a は 1 です
if (a == 1)を日本語訳すると「もしも a が 1ならば~する」です。
日本語訳で考えると、理解しやすくて良いですね。
if-else文
//if-else文の構文 if(<条件式>){ <文> } elsif(<条件式>){ <文> } else { <文> }
if文では<条件式>が合致する(true)場合に文を実行します。合致しない場合は、else文で合致しない(false)場合に文を実行することができます。
elseは日本語訳で「それ以外」という意味です。
以下の例文に例えると分かりやすいです。
my $a = 3; if ($a == '1') { print 'aは1です'; } elsif ($a == '2'){ print 'aは2です'; } else { print '1,2 以外です'; } // 実行結果 a は 2 です // 実行結果(a = 3)とした場合 a は 1,2 以外です
日本語訳で考えながら読んでいくと、分かりやすくなります。
「もしも a が 1ならば~する。⇒ if (a == 1)
それ以外でもしも a が 2ならば~する。⇒ elsif (a == 2)
それ以外ならば~する。⇒ else」
elseは「それ以外」の語訳のとおり、条件式に合致した場合、後続の処理には進みません。
if文で否定
// ifで否定する場合の構文 // 数値の変数の場合 if(a != b){ <文> } // 真偽値の変数の場合 if(!<条件式>){ <文> }
if文で否定(条件を反転)する場合は「!」を使用します。
ビックリマークが馴染み深いですが、正式名称は「エクスクラメーションマーク(英語:exclamation mark)」といいます。
Perlだけではなく、JavaやC言語をはじめとするいくつかのプログラミング言語では、否定を意味するようです。これは使い慣れて覚えていくしかなさそうです。
//「!=」:右辺と左辺を比較(数値を比較) my $a = 1; if ($a != '2') { print 'a は 2 以外です'; } // 実行結果 a は 2 以外です
上記では「!=」で左辺が右辺と等しくないことを指します。数値などが有効です。
//「!」:判定結果を反転 my $a = 'abc'; if (!($a eq 'abd')) { print 'abd以外です'; } // 実行結果 abd以外です
真偽値の変数の前に「!」をつけると、処理が反転することが分かります。
以上・以下・より大きい・より小さい
// ifで以上・以下・より大きい・より小さいを比較するための構文 // 以上:aはb以上 if(a >= b){ <文> } // 以上:aはb以下 if(a <= b){ <文> } // より大きい if(a > b){ <文> } // より小さい if(a < b){ <文> }
「以上・以下・より大きい・より小さい」などの比較して条件を判定したりします。数値の比較で利用されるため、int型等の変数の比較で使用されます。
「以上・以下・より大きい・より小さい」など比較するための演算子を「比較演算子」と言います。比較演算子は以下の表にまとめました。
記述方法 | 意味 | |
---|---|---|
不等号 | A < B | AはBより小さい |
A > B | AはBより大きい | |
A <= B | AはB以下 | |
A >= B | AはB以上 | |
等号 | A == B | AはBと等しい |
A != B | AはBと等しくない |
コメントを残す