【发布时间】:2012-06-18 21:04:36
【问题描述】:
可能重复:
Is there a clean way to avoid calling a method on nil in a nested params hash?
是否有一种简单的方法来检查是否设置了多维哈希中的值而不捕获 NoMethodException?
例如:
do_x if cat['level1']['level2']['level3'] != 'value'
问题是,'level2' 可能根本不存在,所以接收者是 nil。
在 PHP 中,您可以在前面加上一个“@”来抑制错误。
在 Ruby 中,我必须将检查包装在 begin-rescue 块中。
有没有类似 PHP 的快速解决方案?
【问题讨论】:
标签: ruby