【发布时间】:2017-01-07 21:00:39
【问题描述】:
我将定义价值。但是这个值可能是哈希键的值。如果此键不存在,我将使用 rescue 来定义值为 nil。 例如
foo = bar[:a][:b][:c] rescue nil
但在实践中告诉我不好的风格,因为我在其修饰符形式中使用了救援。我将更改逻辑以使用检查三个条件。
foo = bar[:a][:b][:c] if bar.key?(:a) && bar[:a].key?(:b) && bar[:a][:b].key?(:c)
我真的很想知道为什么我们应该避免在其修饰符形式中使用救援?
【问题讨论】:
-
值得注意的是,虽然它的风格很糟糕,但它有合法的用途。
标签: ruby error-handling