例外クラスの一覧が知りたくて書いてみた。
どこかに一覧ぐらいあって当然くらいに思ってたんですが、見当たらないんですよね。
20110524追記
ソース
結果
Object Array Binding Continuation Data Dir Exception NoMemoryError ScriptError LoadError NotImplementedError SyntaxError SignalException Interrupt StandardError ArgumentError IOError EOFError IndexError StopIteration LocalJumpError NameError NoMethodError RangeError FloatDomainError RegexpError RuntimeError SecurityError SystemCallError SystemStackError ThreadError TypeError ZeroDivisionError SystemExit FalseClass Hash IO File MatchData MatchData Method Module Class NilClass Numeric Float Integer Bignum Fixnum Proc Range Regexp String Struct Symbol Thread ThreadGroup Time Tree TrueClass UnboundMethod
補足
ざっくり仕様
[constant, constant.superclass]の形で配列に放り込んで
matchingさせながら出力しています。
多分、もっといいアルゴリズムがあると思うので後々修正するかも。eval使ってるのも嫌だ。
MatchDataが重複してる
MatchingDataってのが古いMatchDataのようです。
constantの結果をevalしてるので、重複して見えます。
evalするのをやめればいいんだけど、飽きたので放置です。
?> MatchData
=> MatchData
>> MatchingData
=> MatchData
一応1.8/1.9で動きます
面白いことにModule.constansの結果が1.8/1.9で違います。1.8は文字列、1.9はsymbolが返ります。