如何获取方法的命名参数的默认值?

时间:2015-04-20 17:26:31

标签: ruby

假设我有这个方法:

def person(name: "calvin")
  ...
end

我想找到param name默认值。我该怎么做?

2 个答案:

答案 0 :(得分:3)

没有参数默认值列表,默认值是执行的代码。

def foo(t=Time.now)
  p t
end

foo  #2015-04-20 19:43:54 +0200
sleep 1
foo  #2015-04-20 19:43:55 +0200

答案 1 :(得分:0)

不确定这是否会有所帮助,但person.send(:local_variables)可能是一个很好的起点。