我正在寫去一個哈希散列的散列值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