2014-03-19 2 views

답변

2

문자열을 문자 단위로 비교되어있다 :위한 ASCII 코드보다 작은, 48이므로.

당신이 2:1: 비교

는 비교 21로 시작하고, 비교는 예상 결과가 중지됩니다. 당신이 1: 10: 대, 비교가 11로 시작하고, 넥타이이기 때문에, 비교가 0:입니다 다음 비교로 이동하고, 비교 결과와 함께이 정지 비교

그 당신은 놀라운 것을 발견했습니다 (문자열 내의 정수가 비교 될 것이라는 기대에 따라).

예상 한 비교를 수행하려면 to_i을 사용하여 두 피연산자를 정수로 형변환하십시오.

0

두 문자열 각각의 첫 번째 문자는 같습니다. Dave가 주석에서 말했듯이 첫 번째 문자 인 '0'의 두 번째 문자는 ':'보다 작으므로 첫 번째 문자열은 두 번째 문자보다 작습니다.

0

0위한 ASCII 코드 58

1

ASCII로 문자 비교입니다.

'10:' < '1:'(49 < 49) || (48 < 58) || (58 < ?)

#=> true 

'1:' < '2:'입니다 마우스 오른쪽 부울 확인하려면 왼쪽 (49 < 50) || (58 < 58)

#=> true 

를 사용하고 발견 진정한 휴식을 확인이다.

참고 : 다양한 예시 패턴에 대한 나의 관찰 일뿐입니다.

관련 문제