키를 지정하지 않고 해시에서 여러 키 값만 가져 오는 방법은 무엇입니까?해시 값 가져 오기
{Sat, 23 Nov 2013=>12, Fri, 22 Nov 2013=>15, Thu, 21 Nov 2013=>13}
키를 지정하지 않고 해시에서 여러 키 값만 가져 오는 방법은 무엇입니까?해시 값 가져 오기
{Sat, 23 Nov 2013=>12, Fri, 22 Nov 2013=>15, Thu, 21 Nov 2013=>13}
그래서 난 그냥 그 해시에서 키의 값을 필요로했기 때문에 (또는하지, 어떻게 보냐)
h = {Sat, 23 Nov 2013=>12, Fri, 22 Nov 2013=>15, Thu, 21 Nov 2013=>13}
h.each_value {|v| t << v}
t => [12, 15, 13]
와 해시 값 # : 이 내 해시
a = {"Sat, 23 Nov 2013"=>12, "Fri, 22 Nov 2013"=>15, "Thu, 21 Nov 2013"=>13}
a.values
결과 :
[12, 15, 13]
의 당신은 당신도 값을 원했고에 할당 싶어한다고 가정 해 봅시다 배열은 이렇게 ... 해시에 .even_value 메서드를 사용하십시오.
hash = {"Sat, 23 Nov 2013"=>12, "Fri, 22 Nov 2013"=>15, "Thu, 21 Nov 2013"=>13}
array = []
hash.each_value {|i| array << i if i.even? }
puts array # [12]
http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-each_value
.even_value 만 값을 살펴보고 당신이 또는 당신이 필요로하는 무엇에 선택 스타일 옵션을 수행 할 수 있습니다!
당신이 묻는 것은 100 % 명확하지 않지만 값을 선택하기 위해 어떤 종류의 술어를 사용하려면 #select를 사용하고 싶습니다.
hash = {"Sat, 23 Nov 2013"=>12, "Fri, 22 Nov 2013"=>15, "Thu, 21 Nov 2013"=>13}
results = hash.each_value.select { |v| ... }
여기에서 ...
은 지정하려는 조건입니다. v.even?
또는 v.odd?
또는 v % 3 == 0
다른 부울과 같을 수 있습니다.
가 유효한 해시 (당신이 IRB에 입력 할 수있는 예를 들어 하나) 질문을 업데이트하시기 바랍니다과에 명확한 질문 (예 : 찾고있는 결과의 예) –
"다중 키 값"이란 무엇을 의미합니까? 모든 값 또는 일부만 얻으려고하십니까? – marzapower
방금 값을 비교하고 싶었지만 유효한 해시를 반환하기 위해 코드를 수정해야합니다. 도움을 주셔서 감사합니다. – John