나는 어떤 응용 프로그램이 있는지 궁금 할뿐입니다. 나는 접두사 1.9를 믿는가? 그 캐릭터의 캐릭터 라인 버젼을 돌려줍니다.접두어의 요점은 무엇입니까? operator in Ruby 1.9
?a #=> "a"
?\t #=> "\t"
'a'또는 '\ t'의 바로 간략한 표현인가요?
나는 어떤 응용 프로그램이 있는지 궁금 할뿐입니다. 나는 접두사 1.9를 믿는가? 그 캐릭터의 캐릭터 라인 버젼을 돌려줍니다.접두어의 요점은 무엇입니까? operator in Ruby 1.9
?a #=> "a"
?\t #=> "\t"
'a'또는 '\ t'의 바로 간략한 표현인가요?
그것은 이전 버전과의 호환성을 위해 주로의를 반환 1.9에
. 1.9 이전 버전에서는 ?
이 해당 문자의 ASCII 값에 해당하는 Fixnum
으로 평가되었습니다. String
으로도 인덱싱은 Fixnum
을 반환했습니다.
그래서, 더 이상 배열로 취급하지 않습니다 당신은 문자열의 세 번째 문자는 문자 'A'루비 1.9에서
s[2] == ?a
할 것이 있다면, 예를 들어, 확인하고 싶어서 경우, 문자열이된다 fixnums하지만 문자의 반복자 (실제로 단일 문자 문자열). 결과적으로 위의 코드는 더 이상 작동하지 않습니다. s[2]
은 문자열이되고, ?a
은 숫자가되며, 둘은 결코 같지 않습니다.
따라서 ?
도 단일 코드 문자열로 평가되어 위 코드가 계속 작동합니다.
당신이 맞으면 문자의 문자열 값을 얻습니다. 이전에는 문자의 ASCII 값을 가져 오는 데 사용되었습니다.
루비 1.8및
?a
이전
'는'문자의 ASCII 버전을 반환합니다. 그냥 (당신이 가정 한 것처럼) 문자열