From: Yui NARUSE Date: 2011-03-06T05:18:28+09:00 Subject: [ruby-dev:43309] [Ruby 1.9 - Feature #4468][Assigned] String() should call to_str before to_s Issue #4468 has been updated by Yui NARUSE. Status changed from Open to Assigned Assignee set to Yukihiro Matsumoto ---------------------------------------- Feature #4468: String() should call to_str before to_s http://redmine.ruby-lang.org/issues/4468 Author: Tomoyuki Chikanaga Status: Assigned Priority: Normal Assignee: Yukihiro Matsumoto Category: core Target version: 1.9.3 Integer() と Array() というカーネルメソッドはまず to_int/to_ary という 「暗黙の変換」のためのメソッドを呼び、それが失敗すると to_i/to_a を 呼んで変換するという仕様になっています。 しかし String() は最初から to_s を呼ぶようになっています。 統一感という意味ではまず to_str -> to_s の順に呼ぶことにしたほうが 良いのではないでしょうか。 to_str と to_s が異なる文字列を返すようなケースは思い浮ばないので、 実際にこれで結果が変化することはないのではないかと推測します。 -- http://redmine.ruby-lang.org