2012年5月16日水曜日

awk変数を扱う

ここを参考にawkの変数を扱ってみます。

awkでは宣言を行うことなく変数を使用できます。
例えばこんな感じ
BEGIN{
        x
        x = 2
        print x
}
上のコードではBEGINの直後のxで既に定義されています。
書いた時点でxには0と""(空文字)が代入されています。
0と""とは何なのか?

awkの変数は文字列と数値の両方の値を持っています。
BEGIN{
    x = 2
    y = 3
    w = x y
    v = x + y
    print w
    print v
}
上記のコードではwには"23"が、vには5が入っています。
xは数値の2と文字列の"2"を、
yは数値の3と文字列の"3"を値として持っているのです。
x yのように変数の間に何もない場合は文字列の連結として扱い、
x + yのように間に演算子がある場合は数値の計算として扱うようです。

では
a = "test"
にはどんな値が入っているのか?
"test"は数値としては扱えないため、
aには数値の0と文字列の"test"が入っています。

おもしろい。

0 件のコメント:

コメントを投稿