我正在使用一些複雜的class/mixin層次結構的系統。由於分散在許多不同文件上的許多圖層,我想快速查看給定方法的超級調用鏈。ruby中某個類方法的已定義超級方法列表
例如
module AAA
def to_s
"AAA " + super()
end
end
module BBB
def to_s
"BBB " + super()
end
end
class MyArray < Array
include AAA
include BBB
def to_s
"MyArray " + super()
end
end
> MyArray.new.to_s
=> "MyArray BBB AAA []"
> method_supers(MyArray,:to_s)
=> ["MyArray#to_s", "BBB#to_s", "AAA#to_s", "Array#to_s", ...]
如果有人認爲一個更好的標題,讓我知道。 – ratelle