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