Ruby 1.8.4 on MacOS Xで'undefined method for Fixnum'
Mac上のRuby 1.8.4でsqlite3-rubyを使っていて、
undefined method `[]=' for 46070335:Fixnum
みたいなエラーが頻発する症状が発生。「どう考えてもオブジェクトが入ってるはずの変数に何故かFixnumが入ってる」のが原因っぽいんですが、エラー箇所より後の(実行されてないはずの)コードをちょっといじると起きなくなったりして、かなり謎です。とりあえず関係ありそうな記事をメモ。
1番目の記事には「gcc 3.3でRubyをビルドしたら直った」とか「gccのオプションを-O0にしたら直った」とか言う情報があるんですが、どっちをやっても(エラーになるタイミングは変わるものの)相変わらずでした。
ちなみに
- ruby 1.8.4 (2005-12-24) [powerpc-darwin7.9.0]
- sqlite 3.3.5
- sqlite3-ruby 1.1.0
追記: 後日一応解決。