- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我经常编写代码以在遇到 nil/空值时提供默认值。
例如:
category = order.category || "Any"
# OR
category = order.category.empty? ? "Any" : order.category
我即将扩展 try
方法来处理这个习语。
category = order.try(:category, :on_nill => "Any")
# OR
category = order.try(:category, :on_empty=> "Any")
我想知道 Rails/Ruby 是否有一些方法来处理这个习惯用法?
注意:
我正在尝试消除 || 的重复/或/?
基于运算符的习语。
本质上,我正在寻找与 try
方法等效的方法来处理默认替换场景。
没有 try
方法:
product_id = user.orders.first.product_id unless user.orders.first.nil?
使用try
方法:
product_id = user.orders.first.try(:product_id)
很容易实现一个通用的方法来处理这个习语,但我想确保我没有重新发明轮子。
最佳答案
参见 this question . ActiveSupport 添加了一个 presence
如果 present?
(blank?
相反),则返回其接收器的所有对象的方法,否则为 nil
。
例子:
host = config[:host].presence || 'localhost'
关于ruby-on-rails - rails 中是否内置了对默认值替换习惯用法的支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3631766/
我编写的代码主要供个人使用,但我正在考虑发布我最初开发供个人使用的应用程序(科学模拟/可视化)。 我的一个习惯是在类中使用一个main方法来单独测试类的运行情况。我认为这在某种程度上可能是不好的(毫无
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How do I convince programmers in my team to do TDD? 在从
假设我想测试是否有一个名为“Z”的驱动器。第一步是这样的; Get-PSProvider | Select-Object -Property Drives 这个给我; Drives: ... {C,
这是对 an old answer to a question about the necessity of functools.partial 的一种跟进: 虽然这个答案非常清楚地解释了这种现象及其
Perl 习惯很难改掉。两种语言之间的变量声明、作用域、全局/局部是不同的。是否有一组推荐的 python 语言习语可以使从 perl 编码到 python 编码的过渡不那么痛苦。 细微的变量拼写错误
我是一名优秀的程序员,十分优秀!