From: "mame (Yusuke Endoh)" <mame@...>
Date: 2012-11-07T23:09:17+09:00
Subject: [ruby-dev:46447] [ruby-trunk - Bug #7300][Assigned] Hash#[] の挙動が 1.9.3 と異なっている


Issue #7300 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to nobu (Nobuyoshi Nakada)

柴田さん、またまたありがとうございます。

hsbt (Hiroshi SHIBATA) wrote:
> 元のコードは以下の行になります。

compact 足してよ、という感じで微妙なところですが、今回は警告に一票投じます (コードがすごく汚くなるとかでなければ) 。なかださん再検討お願いします。


余談ですが、「特に実用上困ったわけじゃないけど気がついた非互換 (RubySpec みたいな)」の報告もありがたいですが、「実コードに影響があった非互換」は心理的な優先度がだいぶ上がるので、その旨書いてもらえるととても嬉しいです。

-- 
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Bug #7300: Hash#[] の挙動が 1.9.3 と異なっている
https://bugs.ruby-lang.org/issues/7300#change-32563

Author: hsbt (Hiroshi SHIBATA)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-07) [x86_64-darwin12.2.0]


Hash[[nil]] を実行すると 1.9.3 では {} となるものが 2.0.0 では ArgumentError となります。

なかださんに相談してみたら、2.0.0 の動きが不正なものをチェックしてて正しい挙動と
いうことを教えてもらいましたが、2.0.0 では dupricate の警告だけにして、
次のリリースで消すという方が良さそうに思います。


-- 
http://bugs.ruby-lang.org/