조건이 충족 될 때 해시 키 값을 배열에 추출하고 싶습니다. 예를 들어, 해시 시간에 나는 값이 "true"로있는 키를 추출 할 :해시 값에 조건부로 배열하는 루비 해시 키
h.map {|k,v| k if v==true} - [nil]
모든 대안 :
h = { :a => true, :b => false, :c =>true }
나는이 함께 왔어요?
조건이 충족 될 때 해시 키 값을 배열에 추출하고 싶습니다. 예를 들어, 해시 시간에 나는 값이 "true"로있는 키를 추출 할 :해시 값에 조건부로 배열하는 루비 해시 키
h.map {|k,v| k if v==true} - [nil]
모든 대안 :
h = { :a => true, :b => false, :c =>true }
나는이 함께 왔어요?
또한,
s = {}
h.each do |k,v|
s[k] = v if v==true
end
지도 및 선택 방법은 별칭 할 수 있습니다. – sbagdat
@sbagdat, 정확히 말하면,'map'과 *'collect' *는'select'가 아닌 별칭입니다. ['select'] (http://apidock.com/ruby/Hash/select)는 다른 작업을 수행하며 해시가 다른 유형을 반환하는 경우 해시를 반환하고 map/collect는 Array를 반환합니다. – NIA
죄송합니다, 저의 실수입니다. – sbagdat