2012-08-07 2 views

답변

5

chr(ord('A') + 1)을 제공 ASCII 이후 'B'를 인쇄해야합니다 문자 litterals를 추가 할 수 있습니다 . Perl에는 문자 유형이 없으며 문자열 유형이 있습니다. 그리고 문자열은 ASCII 값으로 숫자 적으로 동작하지 않습니다. ord을 숫자 코드 포인트로 변환하고 chr으로 변환하면됩니다.

+1

특수한 경우로 '++'문자열을 사용할 수 있습니다. –

+0

@ OlegV.Volkov,'++'의 마술은 C의'char' 타입에서 산술 연산을하는 것처럼 행동하지 않습니다. C와'my $ foo = 'Z'에서'char foo = 'Z'+ 1'; $ foo ++;'는 Perl에서 매우 다른 결과를 나타냅니다. –

+0

@ Ven'Tatsu, 물론. 실제로 "특별"이기 때문에 논리가 더 복잡하고 사용하기 전에 문서를 읽는 것이 좋습니다. BTW, 대응하는'--'도 없습니다. –

2

문자열을 변수에 저장하면 you can increment them입니다.

$ perl -E'$a = "A"; say ++$a' 
B 

$ perl -E'$a = "abacaa"; say ++$a' 
abacab 

$ perl -E'$a = "Z"; say ++$a' 
AA 
관련 문제