समारोह ord() पर्ल में

में पर्ल प्रोग्रामिंग भाषा में बनाया गया है एक समारोह 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; पर्ल सोचता है कि अपने कोड इनकोडिंग है utf8 और ord() लेता है अपने तर्क के रूप में एक स्ट्रिंग के दो वर्ण और एक स्ट्रिंग के रूप में का एक ही चरित्र है । और मूल्य देता है 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.

अन्य लेख