199X年に書いたRuby 1.4のコードを動かしてみた
1990年代に書いたRubyのコードを動くように修正してみました。 そのときのトラブルです。
- ENVの値を直接書き換えてた場所がエラー
- ENVの値はfreezeされています。今では当たり前ですね。。。
open(file)
が動かなかったopen(file, 'r:UTF-8')
で動きました。- ただ、デフォルトはロケール依存のはずなので、Dockerの設定の問題かも?
Array#filter
がないと言われた- Ruby 1.4のArrayにはありますが、今のRubyにはないです。
- Array#map!にしました。
- 暗黙のグローバル変数に依存したコードが動かなかった(下記)
- Perlの習慣が残ってたんですね。
while log.gets
chomp!
...
end
Perlと比べると変更点が多かったのですが、 自分の書き方が悪いのが大きな理由ですね。