2
나는 다음과 같은 해시를 가지고 말 :교차하는 키에만 관심이있을 때 Ruby에서 해시 동등성을 쉽게 테스트 할 수 있습니까?
hash_x = {
:a => 1,
:b => 2
}
hash_y = {
:b => 2,
:c => 3
}
내가 어떤지 두 만 고려 교차 키를 고려하여 비교 논리의 덩어리가 필요합니다.
이 예제에서 'b'키는 두 해시 간의 유일한 공통점이며 두 값 모두 '2'로 설정되어 있기 때문에 두 해시가 동일한 것으로 간주됩니다. (그들 각각의 해시 고유 때문에 무시되는 'A'와 'C'키 값)
마찬가지로 두 해시 인해 'D'키의 불평등 같지 않을 것이다 :
hash_p = {
:a => 1,
:b => 2,
:d => 3,
}
hash_q = {
:b => 2,
:c => 3,
:d => 4
}
Ruby에는 두 해시의 교차 키를 계산할 수있는 영리한 한 줄 짜기가 있습니까? 그런 다음이 값을 키에 따라 동일하게 비교하십시오.
테스트를 제공하는 경우 보너스 포인트.
해시 클래스에 원숭이 패치를 추가하면 보너스 포인트가 추가됩니다. 이 같은
해시가 nil 또는 비어 있거나 값 1이 '1'과 같거나 키 : b가 키 'b'와 일치하는 경우 며칠 동안이 시험을 치른 후에 단위 테스트로 솔루션을 게시 할 것입니다. 감사! –
보너스 포인트는 어디 있습니까? 나는 당신이 찢어 버린 것 같아요! :) – tadman
@ 테플론 테드 : 당신은 어떤 엣지 케이스가 있다고 말하는 것보다 낫지? 게시 할 수 있도록 게시하십시오. 간단한 한 줄짜리에서 더 복잡한 것에 이르기까지 당신이주는 두 가지 예가 있습니다. – Pesto