从以下场景开始:
class Foo
def bar(baz={})
p baz
end
end
foo = Foo.new
p meth = foo.method(:bar) # => #<Method: Foo#bar>
p meth.parameters # => [[:opt, :baz]]
所以我可以弄清楚方法bar
是可选的,但是如何找到该方法的默认值({}
)?
答案 0 :(得分:2)
这样做:
foo.bar
由于您没有为baz传递值,因此会打印出默认值。
虽然,我打赌你想要一些适用于任何方法的东西。我所知道的唯一一致方法是查看源代码。
答案:有人编写了一个脚本here。
然而,查看脚本以尝试理解它如何拉出默认值会让我头疼。