ruby-reference-manual:3215
From: "pypypy567 (py _)" <redmine@r...>
Date: Sat, 25 Aug 2012 16:47:08 +0900
Subject: [ruby-reference-manual:3215] [るりまプロジェクト - Bug #3470] bc-methods で定数の表示が正しくない
Issue #3470 has been updated by pypypy567 (py _). File bc-methods.rb.patch added File _bc-methods.rb.patch added 見てみました。 これ多分昔は対象のモジュール/クラスに直接定義された定数名だけを得る手軽な方法がなかったことが原因ですね。 こことか参照: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/29989 代替手段として自クラスの constants から親たちのを除いていますが、それだと親が持ってるのと同名の定数が見えません。 1.9系の YAML::Store::EMPTY_MARSHAL_CHECKSUM とかはこのケースです。 1.9系では素直に inherit フラグを true に設定すればいいと思います。(bc-methods.rb.patch) 1.8系はどうなんでしょう? 一応1.8系でも使えそうな方法はあります。remove_const してみることです。 そうするパッチも書いてみました。(_bc-methods.rb.patch) とりあえず僕の環境では意図通り動いてる気がします。 でも多分有ったとしてもものすごくレアケースですよね。 ---------------------------------------- Bug #3470: bc-methods で定数の表示が正しくない https://bugs.ruby-lang.org/issues/3470#change-29030 Author: okkez (okkez _) Status: Open Priority: Normal Assignee: Category: Target version: reporter: ruby_version: =begin 以下のようになっている。 実際には YAML::Store の定数は 1.9.1 以降にも存在している。 $ bc-methods -ryaml/store YAML::Store 180 181 182 183 184 185 186 187 187188dev191p427192dev193dev YAML::Store#dump - - o o o o o o o o o o o YAML::Store#empty_marshal_checksum - - - - - - - o o o o o o YAML::Store#empty_marshal_data - - - - - - - o o o o o o YAML::Store#load - - o o o o o o o o o o o YAML::Store#load_file - - o o o o o - - - - - - YAML::Store#marshal_dump_supports_canonical_option? - - - - - - - o o o o o o YAML::Store#transaction o o - - - - - - - - - - - YAML::Store::EMPTY_MARSHAL_CHECKSUM - - - - - - - o o o - - - YAML::Store::EMPTY_MARSHAL_DATA - - - - - - - o o o - - - =end -- http://bugs.ruby-lang.org/ -- ML: ruby-reference-manual@m... Info: http://QuickML.com/