Ruby 初心者スレッド Part 50
■ このスレッドは過去ログ倉庫に格納されています
0795デフォルトの名無しさん
2012/12/14(金) 23:03:50.62attr_reader :sym
def initialize(sym)
@sym = sym
end
end
class Symbol
alias old_match ===
def ===(obj)
return old_match(obj) unless SymbolException === obj
obj.sym == self
end
end
def raise(*args)
Kernel.raise *args unless args.length == 1 && Symbol === args[0]
raise SymbolException.new(args[0])
end
begin
raise :hoge
rescue :fuga
p "fuga"
rescue :hoge
p "hoge"
end
こんなの実装できるとかRuby変態だろ…
■ このスレッドは過去ログ倉庫に格納されています