如何惯用地检查Hash是否不为零,从而在RubyonRails中的一行中获取键的值?
首先,我想检查是否为零。如果不是nil,则获取key的值
回答
典型的方法是val = hash && hash[key]or val = hash[key] if hash。
您还可以使用安全导航运算符,例如val = hash&.dig(key)(请参阅Hash#dig)或val = hash&.[](key).. 我真的不推荐最后一个,因为它不是很易读
val如果哈希值为 nil,所有这些示例都将设置为 nil。如果键必须存在并且您想在不存在时引发错误,则可以使用val = hash&.fetch(key)(请参阅Hash#fetch)
THE END
二维码