Elaboration in, Garbage out

Twitt*r ではメモできない何かそれ的なモノ・コトを

配列の凍結?

今動かしてるプログラム(Ruby, non rails *1)で,

can't modify frozen Array

っていうエラーが出てくる.なぜかごくたまに.配列が凍結ってなんやねん,と思いいろいろ調べたら,例えばコマンドラインから受け取る引数とか,よーく考えなくても変更ができない配列については frozen になっているらしい.そーゆー場合は,

list = ARGV[0].dup

とか duplicate しましょうっていうことで.

追記

Nokogiri でごくたまに取り出せない項目がある場合,Nil になることがわかった *2.それはいいとして,配列の中に Nil がある場合に配列を pop しようとすると,上記のエラーが発生するよう.ふーん.
とりあえず.Nil は "Nil" にしましょうってことで,暫定処置.

*1:"ruby non rails" の検索結果:約 623 件 (0.47 秒)

*2:例えば li で並んでる項目の中に,何故か一個だけ違うものが混じってるとか.