Ruby 의 Code Block 을 사용 하여 Hash 비교 함 수 를 만 듭 니 다.
680 단어 Ruby
4.567913.이렇게 코드 를 쓰 는 것 도 좋 지만 코드 가 약간 어 지 러 워 보 입 니 다.또한 이런 비교 논 리 는 항상 재 활용 이 필요 합 니 다.이 를 함수 에 밀봉 할 수 있 습 니까?답 은 긍정 적 입 니 다.Ruby 가 제공 하 는 yield 를 사용 하면 이 루어 집 니 다.
x = Hash.new
x[:a] = 'x'
y = Hash.new
y[:a] = 'y'
x.keys.each do |key|
if x[key] != y[key]
puts "find difference for key #{key}: x = #{x[key]}, y = #{y[key]}"
end
end
위의 함 수 를 사용 하면 Hash 의 비 교 를 할 수 있 고 코드 도 깨끗 하 며 가장 중요 한 것 은 논리 적 으로 재 활용 할 수 있다 는 것 이다.def diff(hash_a, hash_b)
hash_a.keys.each do |key|
if hash_a[key] != hash_b[key]
yield key
end
end
end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ruby의 단일 메소드 및 단일 클래스 상세 정보단일 방법 Ruby는 단일 객체에만 적용되는 단일 객체 추가 방법을 단일 방법이라고 합니다. 또한 위에서 사용한 정의 방법 외에 Object#define_를 통해singleton_method 방법으로 단일 방법 정의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.