dポイントプレゼントキャンペーン実施中!

UNIXでAWKの連想配列を使っています。
連想配列を処理の途中で初期化したいのですが、どうすれば良いのでしょう?

とりあえず今は以下のように初期化をしています。
for ( i in a ){a[i]="";}

しかし、できれば
a=null
という感じに一発で初期化をしたいのです。

A 回答 (2件)

forでひとつひとつ消すしかなかったと思います。



ただし、""の代入ではもとの状態にはもどりません。
a["a"]="" としても "a" in a になりますから。
delete a["a"] とすると消去されます。
    • good
    • 0
この回答へのお礼

terra5さん回答ありがとうございました。
教えていただいた方法で解決できました。
ありがとうございました。

お礼日時:2003/12/24 11:05

拡張機能を使ってよいなら


delete a;

分かりにくいけど、オリジナルなawkでも使えるのが、

split( '', a );

以上、GNU AWKユーザガイドより。
    • good
    • 0
この回答へのお礼

osamuyさん回答ありがとうございます。
おかげ様で解決できました。

お礼日時:2003/12/24 11:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!