2
奇妙なタイトルのため申し訳ありませんが、私はこの問題をどのように分類するのかよく分かりません。私はいくつかのルビコードを1.9.3に更新する過程にあり、いくつかの奇妙な動作を見ています。問題を蒸留し、私が取得:ルビのバージョン間の暗黙的な例外クラスの違い
def convert(exception)
raise exception.message
end
begin
convert(StandardError.new(StandardError))
rescue => e
puts e.class
end
1.9.2では、出力は
StandardError
と1.9.3で、TE出力はルビーのドキュメントかかわら探し
RuntimeError
ですリリースノートは本当に私にここで何が起こっているのかについての手がかりを与えていないし、どんな助けもありがとう! (すなわち、ないの奇妙な事が起こるのを引き起こし、それが予想外のクラスで例外を発生させる終わる
これは意味があります。私はCコードを読むことについてより良くなる必要があります。明確にするために、クラス自体が返されたメッセージではなく、渡されたオブジェクトが文字列に変換されているはずです。助けてくれてありがとう! – Chris
'String'を返すはずです。しかし、実際に*返したのは少し解読しにくいです。その上で '.class'を呼び出すと' Class'が生成されますが、もっと奇妙なことが起こりそうです。それがC言語(とC Rubyは巨大であるため)に従うのは難しいです。 –