In der Programmiersprache Perl gibt es die eingebaute Funktion ord()
.
Diese Funktion gibt eine Zahl, die mit dem angegebenen Zeichen.
▶ Run
use utf8;
use feature qw(say);
say ord('A');
say ord('1');
say ord('Ð');
Wenn Sie die Funktionen ord()
nicht keine Argumente übergeben, wird die Funktion arbeitet mit
дефолтной Variable $_
:
Standard-Verwendung von Funktionen – es soll genau ein Zeichen.
In diesem Fall wird die Funktion gibt den numerischen Wert des symbols. Wenn Sie die Funktionen ord()
übergeben Sie eine Zeichenfolge, die besteht aus mehreren Zeichen, gibt die Funktion zurück
der numerische Wert des ersten Zeichens:
▶ Run
use feature qw(say);
say ord('a');
say ord('abcdef');
Wenn die Funktionen ord()
übergeben mehr als ein argument, dann wird der Fehler:
▶ Run
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.
In diesem Fall, wenn Sie in ord()
leere Strings kann die Funktion gibt die Anzahl der 0
:
Hier ist ein Beispiel in dem Programm für dasselbe Zeichen Funktion ord()
gibt verschiedene Werte:
▶ Run
use feature qw(say);
say ord('Ъ');
use utf8;
say ord('Ъ');
Das Programm zeigt auf dem Bildschirm:
Der erste Anruf ord('Ъ')
ergibt die Anzahl der 208. So ist aufgrund der Tatsache, dass ord()
empfindet Ihr argument nicht als ein Zeichen, sondern als String aus zwei Bytes 208 170
und gibt die Nummer des ersten Zeichens des Strings.
Aber nach use utf8;
perl meint, dass der Programmcode geschrieben in der Codierung utf8
und ord()
nimmt Ihr argument nicht als String aus zwei Zeichen, sondern als String.
aus einem einzelnen Zeichen. Und gibt es auf 1066
.
Hier ist die Ausgabe von 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.