2016-12-20 4 views
-2

Hy,Ruby 논리 문자열 비교 (예 : "a"> "b")

논리 비교시 Ruby가 문자열을 처리하는 방법을 이해하려고합니다.

내가 시도 : 루비 Z (강한)에 (가장 약한)의 문자에 무게를 제공하고 심지어 첫 번째 문자에서 furter를 확인하지 않습니다처럼
"a" > "b" #--> false 
"ab" > "b" #--> false 
"z" > "az" #--> true 
# i even tried 
"z" > "abcdefghijklmnopqrstuvwxyz" #--> true 

입니다.

이 현상에 대한 설명을 알려 주시면 감사하겠습니다. 고맙습니다.

+0

['String # <=>'] (http://ruby-doc.org/core-2.3.2/String.html#method-i-3C-3D-3E) – Stefan

+1

이것은 표준 사전 식 순서입니다. –

답변

1

문자열은 단어장 에서처럼 정렬됩니다.

string1 > string2string1string2보다 나중에 나타나는 경우 true입니다.

"a"는 1 페이지에, "b"는 30 페이지에 있으므로 "a">"b"은 false입니다.

그것은 당신이 파일 이름에 번호가 파일의 전체 폴더가 있다면 그것은 lexicographical ordering를 불렀다

1.txt 사이 2.txt, 10.txt11.txt 표시하는 것과 같은 이유는, 그리고 첫 글자가 다른 경우는 두 번째 문자를 무시 .

+0

대단히 고마워요. 이 대답은 명확하고 설명 적이었습니다. – derei