From: Yukihiro Matsumoto Date: 2011-03-06T08:46:48+09:00 Subject: [ruby-dev:43310] Re: [Ruby 1.9 - Feature #4468][Open] String() should call to_str before to_s まつもと ゆきひろです まあここだけ違っているメリットもさほどないようですから、変更 しても良いのではないでしょうか。 In message "Re: [ruby-dev:43306] [Ruby 1.9 - Feature #4468][Open] String() should call to_str before to_s" on Sat, 5 Mar 2011 21:43:18 +0900, Tomoyuki Chikanaga writes: | | |Issue #4468 has been reported by Tomoyuki Chikanaga. | |---------------------------------------- |Feature #4468: String() should call to_str before to_s |http://redmine.ruby-lang.org/issues/4468 | |Author: Tomoyuki Chikanaga |Status: Open |Priority: Normal |Assignee: |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