From: "ujihisa ." Date: 2009-05-29T07:33:49+09:00 Subject: [ruby-dev:38554] [Bug #1534] Inconsistency Between Struct#to_s and Struct#inspect Bug #1534: Inconsistency Between Struct#to_s and Struct#inspect http://redmine.ruby-lang.org/issues/show/1534 起票者: ujihisa . ステータス: Open, 優先度: Normal ruby -v: ruby 1.9.2dev (2009-05-28 trunk 23601) [i386-darwin9.7.0] http://redmine.ruby-lang.org/issues/show/1427 http://redmine.ruby-lang.org/issues/show/1533 の二つと同じ問題をStructで発見しました。 ruby 1.9では通常Struct#to_sとStruct#inspectは同じ文字列を返しますが、自己再帰する構造体に対しては異なる結果を返しています。 # ruby 1.9.2dev (2009-05-28 trunk 23601) [i386-darwin9.7.0] t = Struct.new('A', :a).new(nil) t.a = t puts t.to_s #=> >> puts t.inspect #=> > 添付のパッチでto_sの結果がinspectと同じになります。 なお、似たような実装をしているものがないかgrepしたところ, proc.c, time.c, ext/dl/cfunc.cが該当しました。が、これらは自己再帰的構造を持ち得ないため大丈夫と思います。 ---------------------------------------- http://redmine.ruby-lang.org