我正在编写一些Ruby代码,它可以访问哈希表的哈希表中的值...
amz_price_info.raw["Offers"]["Offer"]["OfferListing"]["Price"]["FormattedPrice"]
我希望只有当代码的结构可用时才能访问这个代码。目前,我的代码如下:
#amz_price_info.raw.class == Hashie::Mash
price = if amz_price_info.raw["Offers"]
if amz_price_info.raw["Offers"]["Offer"]
if amz_price_info.raw["Offers"]["Offer"]["OfferListing"]
if amz_price_info.raw["Offers"]["Offer"]["OfferListing"]["Price"]
if amz_price_info.raw["Offers"]["Offer"]["OfferListing"]["Price"]["FormattedPrice"]
amz_price_info.raw["Offers"]["Offer"]["OfferListing"]["Price"]["FormattedPrice"]
end
end
end
end
end
如何重构我的代码,使其更简洁?
keys.inject(amz_price_info.raw) { |price, k| (price || {})[k] }
。 - Niklas B.