在Ruby中包装深层嵌套Hashes的推荐方法是什么?

时间:2012-05-12 01:41:18

标签: ruby

我有哈希,我需要访问以下内容:

parsed["HotelInformationResponse"]["PropertyAmenities"]["PropertyAmenity"]

需要使用变量赋值。这使得它超过80个字符,这是我包裹我的线条的地方。什么是最优雅的方式来包装它以使其适合?

1 个答案:

答案 0 :(得分:1)

文字编辑器只是一种工具。仅仅因为你将你的行换行为80个字符并不意味着100%的行应该不到80个字符。有些表达式不能(或不应该)被分解并且恰好很长。作为一种语言,其语法类似于自然语言,有时冗长的方法或变量名称(如“HotelInformationResponse”)需要更多的空间。

要直接回答,您可以将不同的部分分配给单独的变量:

response = parsed["HotelInfomationResponse"]
amenities = response["PropertyAmenities"]
amenity = amenities["PropertyAmenity"]

如果您重复使用部分哈希值,这将是更好的选择,因此您不会重复调用parsed["HotelInformationResponse"]["PropertyAmenities"]