トップ «前の日記(2012/11/09 (金) ) 最新 次の日記(2012/11/11 (日) )» 編集 RSS feed

HsbtDiary


2012/11/10 (土) [長年日記]

[ruby] 2.0.0 で Hash[] の挙動が変わっていた

RWC の最中もせっせと 2.0.0 trunk で手元にある Rails アプリケーションやその他諸々のライブラリの動作チェックをしていたら Hash[] の挙動が変わっているのに気がついた。

 # 1.9.3
 Hash[[nil]] => {}
 # 2.0.0
 Hash[[nil]] => ArgumentError: wrong element type (expected array)

これは redis-rb や cells で発生するので、compact して nil を削るようにして pull request しておいた。あと bugs.ruby-lang.org にも報告済み → http://bugs.ruby-lang.org/issues/7300

そもそも nil が通ってしまうというのがよろしくない状況みたいだけど、割と気がつかないでぎゃっとなる人が多そうなので、2.0.0 では警告にしようという流れ。あと、2.0.0 での大きな違いとしてはデフォルトエンコーディングが utf-8 になったというのがあるので、tDiary のマジックコメントをさっと消して動くか確認するつもり。