ruby - 我如何知 Prop 有默认值的参数是否有明确的参数?

标签 ruby default

我有一个带有默认值参数的方法。我需要知道该值是来自用户还是默认值。用户也可以发送默认值。我如何知道值的来源?

最佳答案

你可以使用 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/

相关文章:

ruby - Ruby 中 bool 值的大小是多少?

ruby - MacRuby 中的 FSEvents : wrong callback is executed

web - 网站中的默认命名空间

ruby-on-rails - 不呈现 Rails 3 中的默认应用程序布局

c++ - 当类成员是引用时,无法生成默认赋值运算符?(在 C++ 中)

ruby-on-rails - Ruby on Rails 从日期时间解析时间,而不是字符串

ruby-on-rails - 如何避免通过关联在 has_many 连接表中创建重复记录?

ruby-on-rails - 如何在 Rails 控制台中重新加载模型?

android - 如何播放短信的默认声音?

forms - Symfony2 设置默认选择字段选择