?: = 条件演算子 - AWK
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
条件によって、2つの内どちらか1つの値を取ります。o AWKで「三項演算子」と言えば、これの事を指します。3つの値を使う特徴があります。
**** 書式
--------
条件 ? 真の時に取る値 : 偽の時に取る値
--------
o 条件 -- 真偽を判定する式です。
+ 条件式の他に、数値や文字列を使う事も出来ます。
+ 1 や "a"など、何かが入っている時は、真になります。
+ 0 や "" の時は、偽になります。
o 真の時に取る値 -- 数値や文字列を指定します。配列を指定する事は出来ません。
o 偽の時に取る値 -- 数値や文字列を指定します。配列を指定する事は出来ません。
**** 使用例
--------
{
v = ($0 ~ "ミク") ? "ミクさん" : "青いマフラー"; # 丸括弧は無くても動きます。
print NR "行目に登場するのは、" v "。";
}
--------
o 2行目の丸括弧は、本来不要です。でも、条件を分かり易くする為に付けました。
o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。
**** 機能
o 条件によって、2つの内どちらか1つの値を取ります。
o 返す値は、数値や文字列を指定します。配列を指定する事は出来ません。
** 処理系に依存する動作
o 配列を指定した時、処理系によって動作が異なります。
o 配列を返す時だけエラーメッセージを出力する処理系
+ Gawk on Windows 3.1.7
+ Gawk for Windows 3.1.6
+ original = the one true awk(updated May 1, 2007)
o 配列を指定した時にエラーメッセージを出力する処理系
+ mawk32 1.3.3
+ Mawk for Windows 1.3.3
**** メモ
o この演算子は、制御文の if に置き換える事も出来ます。
+ どちらを使うかは、お好みで。
**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk32 1.3.3
o Mawk for Windows 1.3.3
o original = the one true awk(updated May 1, 2007)
==
関連ページ:
▼AWKの数値計算関数と関連機能(▼ABC順)
> ▼AWKの文字列操作関数と関連機能(▼ABC順)
▼AWKプログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> ▼AWKの時刻取得機能
+
if = 条件に一致したら実行する
switch = 選択肢を選んで実行する(Gawk専用)
(2010年8月27日追加。ifに置き換える事が出来る)