के बीच अंतर क्या है सिंगल और डबल उद्धरण पर्ल में

में पर्ल प्रोग्रामिंग भाषा बनाने के लिए एक स्ट्रिंग में अपने प्रोग्राम कोड का उपयोग कर सकते हैं एकल ' या डबल उद्धरण ".

वहाँ एक अंतर है. एकल उद्धरण में काम केवल भागने दृश्यों \\ और \', दोहरे उद्धरण चिह्नों में है, को छोड़कर इन दो काम कुछ अन्य एस्केप अनुक्रम. और केवल अगर आप डबल उद्धरण का उपयोग करें, चर नाम खुलासा में मूल्य (प्रक्षेप होता है). आगे विवरण.

कुल

सिंगल और डबल उद्धरण में पर्ल प्रोग्रामिंग भाषा का इस्तेमाल कर रहे हैं का वर्णन करने के लिए तार में प्रोग्राम कोड (लाइनों कार्यक्रम में पाठ कर रहे हैं "कहा जाता स्ट्रिंग literals"). यहाँ एक उदाहरण है:

▶ Run
#!/usr/bin/perl

my $str1 = 'Hello, world!';
my $str2 = "Hello, world!";

इस कार्यक्रम में, हम दो चर बनाया गया है, और उनमें से प्रत्येक की विनियोजित लाइन. इस उदाहरण में, वहाँ कोई अंतर नहीं है का उपयोग कर के बीच डबल और एकल उद्धरण, स्ट्रिंग हम पहली बार में और दूसरे मामले में, बिल्कुल एक ही.

बैकस्लैश

एक अन्य आम बात है का उपयोग करने के लिए डबल और एकल उद्धरण है, कैसे कार्य करने के लिए अगर आप की जरूरत करने के लिए लाइन में एक प्रतीक था बैकस्लैश \. यदि आप चाहते हैं बनाने के लिए एक लाइन के साथ इस प्रतीक में एक स्ट्रिंग शाब्दिक आप की जरूरत लिखने के लिए दो बैकस्लैश \\. में जिसके परिणामस्वरूप स्ट्रिंग हो जाएगा एक एकल बैकस्लैश. यहाँ एक उदाहरण है:

▶ Run
#!/usr/bin/perl

my $str1 = '\\';
my $str2 = "\\";

print $str1, "\n";
print $str2, "\n";

इस कार्यक्रम प्रदर्शित करेगा:

\
\

उद्धरण स्ट्रिंग में

पहली अंतर के बीच सिंगल और डबल उद्धरण है कि आप की जरूरत है ऐसा करने के लिए एक लाइन बनाने के लिए है, जो एकल या डबल उद्धरण.

एक उद्धरण का उपयोग कर यह बहुत आसान है बनाने के लिए एक स्ट्रिंग है जो डबल उद्धरण: '"'. लेकिन अगर की जरूरत बनाने के लिए एक स्ट्रिंग है जो एकल बोली, यह लिखा होना चाहिए का उपयोग कर दो अक्षर: रिवर्स स्लेश \ और बोली. '\'' — इस तरह के एक शाब्दिक स्ट्रिंग एक स्ट्रिंग बनाता है के साथ एक प्रतीक "एकल बोली".

के मामले में दोहरे उद्धरण — सभी तरह के आसपास. यह सुविधाजनक बनाने के लिए एक स्ट्रिंग के साथ एक ही बोली "'", और करने के लिए जगह करने के लिए स्ट्रिंग में, दोहरे उद्धरण लिखने की जरूरत है इससे पहले कि यह एक बैकस्लैश के साथ (यह कहा जाता है "स्क्रीनिंग") "\"".

इस विशेष वर्ण का उपयोग करें

जब आप का उपयोग एकल उद्धरण वहाँ केवल दो प्रतीकों का सेट है कि में तब्दील कर रहे हैं एक ही चरित्र है । यह, जैसा कि हम पहले देखा है, दो वापस स्लैश \\ — वे बारी में एक बैकस्लैश; और बैकस्लैश, और एकल बोली \' में तब्दील हो जाता है एक प्रतीक "एकल बोली".

लेकिन जब आप डबल उद्धरण का उपयोग करें, वहाँ रहे हैं कई तरह के सेट के प्रतीकों में से एक (आमतौर पर संदर्भित करने के लिए के रूप में "एस्केप अनुक्रम"). सबसे प्रसिद्ध और अक्सर इस्तेमाल किया प्रतीकों का एक संयोजन है \n. \nमें डबल उद्धरण में बदल जाता है एक विशेष चरित्र "नई". यदि अविवाहित उद्धरण print 'ASDF\nQWERTY'; प्रदर्शित करता है ASDF\nQWERTY, और अगर आप डबल उद्धरण का उपयोग करें print "ASDF\nQWERTY"; में दिखाई देगा स्क्रीन पर दो लाइनों:

ASDF
QWERTY

अन्य इस्तेमाल किया एस्केप अनुक्रम है \t, प्रयोग किया जाता है जब दोहरे उद्धरण चिह्नों में यह हो जाता है में टैब वर्ण है । बहुत अक्सर नहीं है, लेकिन अभी भी प्रयोग किया जाता \b, इस विशेष चरित्र मिटाता पिछले चरित्र (इस्तेमाल किया जा सकता बनाने के लिए बहुत ही सरल एनिमेशन कंसोल में). वहाँ कुछ कर रहे हैं और अधिक से बचने दृश्यों, वे कर रहे हैं छोटे से प्रयोग किया जाता है ।

प्रक्षेप के चर

यदि स्ट्रिंग का उपयोग कर बनाया डबल उद्धरण लिखने के लिए चर नाम, स्ट्रिंग नाम दिखाई देगा मूल्य के लिए इस चर का उपयोग करते समय (एकल उद्धरण स्ट्रिंग में नाम होगा).

इस सुविधा की भाषा में बहुत अक्सर इस्तेमाल किया जाता है ।

▶ Run
#!/usr/bin/perl

my $var = 'John';

my $str1 = 'Hello, $var';
my $str2 = "Hello, $var";

print $str1, "\n";
print $str2, "\n";

इस कार्यक्रम प्रदर्शित करेगा:

Hello, $var
Hello, John

स्ट्रिंग $str1 हम बनाया एक उद्धरण का उपयोग कर स्ट्रिंग में शामिल हैं कि वास्तव में क्या लिखा गया था स्ट्रिंग में शाब्दिक — 'Hello, $var'. और लाइन में $str2 चर नाम $var की जगह द्वारा इस चर का मान.

कृपया ध्यान दें कि केवल तैनात scalars और सरणियों:

▶ Run
#!/usr/bin/perl

my $var = 'John';
my @arr = ('one', 'two');
my %h = (
    a => 1,
);

sub my_sub {
    return 12;
}

print "$var @arr %h &my_sub";

इस कार्यक्रम को प्रदर्शित करता है पाठ John one two %h &my_sub. अदिश $var और सरणी @arr में बदल गया मूल्य और हैश %h और सबा my_sub — कोई.

सिफारिश

कई मामलों में, बनाने के लिए स्ट्रिंग literals वैसे भी, तो और एक और डबल उद्धरण एक ही काम करेंगे. सिफारिश यह है — अगर एक स्ट्रिंग Litera अभी भी इसे का उपयोग करें, का उपयोग एकल उद्धरण चिह्न.

अन्य लेख