我最近了解到,如果该行发生错误,您可以使用一行代码进行救援(参见
http://www.rubyinside.com/21-ruby-tricks-902.html提示#21).我有一些以前看起来像这样的代码:
if obj['key'] && obj['key']['key2'] && obj['key']['key2']['name'] name = obj['key']['key2']['name'] else name = '' end
name = obj['key']['key2']['name'] rescue ''
如果在访问哈希的任何级别都抛出一个零异常,它应该被抢救抓住,并给我“,这是我想要的.如果这是所需的行为,我也可以选择将名称设置为nil.