• ベストアンサー

連想配列の初期化

UNIXでAWKの連想配列を使っています。 連想配列を処理の途中で初期化したいのですが、どうすれば良いのでしょう? とりあえず今は以下のように初期化をしています。 for ( i in a ){a[i]="";} しかし、できれば a=null という感じに一発で初期化をしたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • terra5
  • ベストアンサー率34% (574/1662)
回答No.1

forでひとつひとつ消すしかなかったと思います。 ただし、""の代入ではもとの状態にはもどりません。 a["a"]="" としても "a" in a になりますから。 delete a["a"] とすると消去されます。

b-takeda
質問者

お礼

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

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

拡張機能を使ってよいなら delete a; 分かりにくいけど、オリジナルなawkでも使えるのが、 split( '', a ); 以上、GNU AWKユーザガイドより。

b-takeda
質問者

お礼

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

関連するQ&A

専門家に質問してみよう