使用Hashie :: Rash的新手。我了解如何访问"结果"以下hashie的部分,但是如何访问" count" "结果"之前的元素在以下示例中:
hashie => #<Hashie::Rash count=20 page=1 results=[#<Hashie::Rash customer=#<Hashie::Rash addresses=[] custom_external_id="58749" emails=[#<Hashie::Rash email=#<Hashie::Rash created_at="2013-02-13T15:59:26-08:00" email="CENSORED" id=33622514 updated_at="2013-02-13T15:59:26-08:00" verified_at=nil>>] first_name="CENSORED" id=68712186 language=nil last_name="CENSORED" phones=[#<Hashie::Rash phone=#<Hashie::Rash created_at="2013-02-13T16:00:45-08:00" id=1301079 phone="CENSORED" updated_at="2013-02-13T16:00:45-08:00">>] twitters=[nil]>>, #<Hashie::Rash customer=#<Hashie::Rash addresses=[] custom_external_id="58749" emails=[] first_name="CENSORED" id=71095620 language=nil last_name="CENSORED" phones=[] twitters=[nil]>>] total=2>
答案 0 :(得分:0)
不是特别雄辩,但在上面的例子中,
hashie.values[1]
返回20
希望有一天能帮到别人。
答案 1 :(得分:0)
Hashie::Rash
仍然像Hash
,#count
仍然使用Hash#count
,您可以看到结果为9。
hashie = Hashie::Rash.new({count:20, page: 1, results:["a","b","c"]})
#=> #<Hashie::Rash count=20 page=1 results=["a", "b", "c"]>
hashie.count #uses Hash#count
#=> 3
但由于Hashie::Rash
的核心仍然是Hash
(只是真正无差别的访问),它还维护了很多基于访问的方法,例如Hash#[]
hashie['count']
#=> 20
hashie[:count]
#=> 20
hashie['page'] == hashie.page
#=> true
您的回答也可以,因为Hash#values
会返回Array
,但这似乎是一个不必要的步骤,缺乏可读性和可管理性。