我正在写去一个哈希散列的散列值Ruby代码....确定是否钥匙链是existant在哈希
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){ |价格,k | (价格|| {})[K]}' – 2012-03-13 00:00:44