기능 ord() 에서는 Perl

에서는 Perl 프로그래밍 언어가 내장된 기능 ord(). 이 기능을 수를 반환합에 대응하는 지정된 기호입니다.

예를 들어 다음과 같습니다.

▶ Run
#!/usr/bin/perl

use utf8;
use feature qw(say);

say ord('A'); # 65
say ord('1'); # 49
say ord('Ж'); # 1046

인수

는 경우 기능 ord() 하지 않는 인자를 사용,작동 기능을 가진 기본 변수 $_:

▶ Run
#!/usr/bin/perl

$_ = 'a';

print ord(); # 97

표준 이 기능의 사용이 그녀에게 정확히 하나의 문자입니다. 이 경우에는,함수는 돌의 숫자 값이 기호입니다. 는 경우 기능 ord() 을 통과하의 문자열로,여러 가지 캐릭터,이 기능이 반환됩니다 숫자값의 첫 번째 문자:

▶ Run
#!/usr/bin/perl

use feature qw(say);

say ord('a'); # 97
say ord('abcdef'); # 97

는 경우 기능 ord() 전달 하나 이상의 인수,그것은 오류가:

▶ Run
#!/usr/bin/perl

print ord('a', 'b', 'c');
Too many arguments for ord at script.pl line 3, near "'c')"
Execution of script.pl aborted due to compilation errors.

경우에는 전달하는 경우에 ord() 빈 문자열이 반환됩니다 수 0:

▶ Run
#!/usr/bin/perl

print ord('');

유니코드

여기에 샘플 프로그램에서는 동일한 기호 기능 ord() 다른 값을 반환:

▶ Run
#!/usr/bin/perl

use feature qw(say);

say ord('Ъ');

use utf8;

say ord('Ъ');

프로그램이 표시됩니다:

208
1066

첫 번째 호출 ord('Ъ') 번호를 반환합니다 208. 이로 인해 발생하는 사실 ord() 의 논쟁으로 한 문자,그러나 문자열로는 두 개의 바이트 208 170 과 숫자를 반환한 첫 번째 문자의 이 문자열입니다.

하지만 후 use utf8; perl 생각하는 코드를 인코딩하 utf8ord() 의 인수 문자열로 두 개의 문자와 문자열로 하나의 문자입니다. 과 값을 반환합니다 1066.

공식적인 문서

여기에 출력하는 명령의 perldoc -f ord:

    ord EXPR
    ord     Returns the numeric value of the first character of EXPR. If
            EXPR is an empty string, returns 0. If EXPR is omitted, uses $_.
            (Note *character*, not byte.)

            For the reverse, see "chr". See perlunicode for more about
            Unicode.

다른 기사