2012-10-04 5 views
-3

모든 레벨의 중첩이 가능한 해시 배열을 가지고 있습니다.Ruby에서 해시 배열의 중첩 된 배열 비교하기

array = [ 
    [ ['a','2'], ['b','5'] ], 
    [ ['c','4'], ['d','5'] ], 
    [ ['e','6'], [f,7] ], 
    ...] 

첫 번째 단계에서는 각 연속 해시를 비교해야합니다. 하나의 요소를 유지하고 다른 하나는 버려야합니다. 두 번째 단계에서 해시 1의 선택된 요소를 해시 2의 선택된 요소와 비교해야합니다.이 프로세스는 해시 요소가 하나만 남을 때까지 계속 진행해야합니다.

루비는 어떻게합니까?

덕분에 당신은 ==하여이 작업을 수행 할 수

+7

해시가 아니며 배열입니다. – pguardiario

+0

당신이 무엇을 요구하고 있는지 잘 모르겠습니다. 예상되는 결과는 물론 예상되는 입력을 포함하여 원하는 것을 더 자세하게 설명 할 수 있습니까? 귀하의 "첫 번째 단계"는 특히 더 많은 설명이 필요합니다. –

답변

1

응답에 대한 많은 :

array1 = [ 
    [ ['a','2'], ['b','5'] ], 
    [ ['c','4'], ['d','5'] ], 
    [ ['e','6'], ['f',7] ] 
    ] 
array2 = [ 
    [ ['a','2'], ['b','5'] ], 
    [ ['c','4'], ['d','5'] ], 
    [ ['e','6'], ['f',7] ] 
    ] 
array3 = [ 
    [ ['not','equal'] ] 
    ] 

array1 == array2 
# => true 

array2 == array3 
# => false 

이 특성에 대한 Array#==를 참조하십시오.