我有一个带有默认值的参数的方法。我需要知道该值是来自用户还是默认值。用户也可以发送默认值。我怎么知道这些值来自哪里?
最佳答案
您可以使用 Nobu Nakada 在 2004 年提出的技巧:
def some_method( a=(implicit_value=true; 1) )
puts "a=#{a}; was set #{ implicit_value ? :im : :ex }plicitly"
end
> some_method
a=1; was set implicitly
> some_method 1
a=1; was set explicitly
> some_method 2
a=2; was set explicitly
关于ruby - 我如何知 Prop 有默认值的参数是否有明确的参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13018258/