개수별로 정렬하려고하는 카운터 해시가 있습니다. 내가 겪고있는 문제는 기본 Hash.sort 함수가 숫자 크기가 아닌 문자열처럼 숫자를 정렬한다는 것입니다.
즉 해시 :
metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
이 코드를 실행 :
metrics.sort {|a1,a2| a2[1]<=>a1[1]}
정렬 된 배열을 반환합니다 :
[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
745가 9보다 큰 경우에도 9가 목록에 먼저 나타납니다. 누가 가장 많은 수의 사람을 보여 주려고 할 때, 이것은 내 인생을 어렵게 만듭니다. :)
숫자 값 크기로 해시 (또는 배열)를 정렬하는 방법에 대한 아이디어가 있습니까?
도움을 주셔서 감사합니다.
어떤 루비 버전을 사용하십니까? 정렬 결과가 매우 이상합니다
—
fl00r