如何将以下代码减少为ruby中的一行?

Sre*_*raj 3 ruby ruby-on-rails ruby-on-rails-3

如何将以下代码减少为ruby中的一行?

unless(data["location"].nil?)
  unless(data["location"]["country"].nil?)
    unless(data["location"]["country"]["code"].nil?)
      #some codes
    end
  end  
end
Run Code Online (Sandbox Code Playgroud)

Jim*_*lle 10

if data["location"] && data["location"]["country"] && data["location"]["country"]["code]

Ruby的&&运算符是一个短循环运算符,因此如果第一个操作数为false,它将停止处理剩余的条件.此外.任何不是的对象nil(出于布尔目的)true,所以如果密钥存在,那么它就是true