Hvad er forskellen mellem enkelt og dobbelt anførselstegn i Perl

I programmeringssproget Perl til at skabe en streng i dit program-kode, som du kan bruge enkelt ' dobbelt-eller citater ".

Der er en forskel. I enkelte citater arbejde kun escape-sekvenser \\ og \', i dobbelte anførselstegn, bortset fra disse to arbejde nogle andre escape-sekvens. Og kun hvis du bruger anførselstegn, variabel-navne der udspiller sig i værdi (interpolation opstår). Yderligere oplysninger.

Total

Enkelt og dobbelt anførselstegn i programmeringssproget Perl er brugt til at beskrive strenge i program-kode (de linjer i tekst kaldes "strengkonstanter"). Her er et eksempel:

▶ Run
#!/usr/bin/perl

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

I dette program har vi oprettet to variabler, og hver af dem har tilegnet sig den linje. I dette eksempel er der ingen forskel mellem dobbelt-og enkelt citater, den snor, vi fik i første og i andet tilfælde, helt samme.

Backslash

En anden fælles ting er at bruge dobbelt-og enkelt citater er, hvordan man skal handle, hvis du skal i den linje, der blev et symbol backslash \. Hvis du ønsker at oprette en tråd med dette symbol, er der i a string literal, du har brug for til at skrive to backslash \\. I den resulterende streng vil være en enkelt omvendt skråstreg. Her er et eksempel:

▶ Run
#!/usr/bin/perl

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

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

Dette program vil vise:

\
\

Citater i strengen

Den første forskel mellem enkelt og dobbelt anførselstegn er, at du er nødt til at gøre for at skabe en linje der er enkelte eller dobbelte anførselstegn.

Brug enkelt anførselstegn det er meget nemt at oprette en snor, som har dobbelt anførselstegn: '"'. Men hvis skal til at lave en string, som er enkelt citat, det skal være skrevet ved hjælp af to tegn: reverse slash \ og tilbud. '\'' — sådan en string-literal opretter en string fra en symbol "enkelt citat".

I tilfælde af dobbelt anførselstegn — hele vejen rundt. Det er praktisk at lave en snor med et enkelt citat "'", og at til sted i strengen, det dobbelte anførselstegn nødt til at skrive, før det med en omvendt skråstreg (dette kaldes "screening") "\"".

Brug af specielle tegn

Når du bruger enkelte citater der er kun to sæt af symboler, der er omdannet til et enkelt tegn. Denne, som vi tidligere har set, to tilbage skråstreger \\ — de bliver til en enkelt backslash, og backslash, og enkelt citat \' er omdannet til et symbol "enkelt citat".

Men når du bruger anførselstegn, at der er flere af sådanne sæt af symboler (normalt omtalt som "escape-sekvens"). De mest berømte og hyppigst anvendte er en kombination af symboler \n. \ni dobbelt citater viser i en særlig karakter "newline". Hvis single citater print 'ASDF\nQWERTY'; viser ASDF\nQWERTY, og hvis du bruger anførselstegn print "ASDF\nQWERTY"; vises på skærmen to linjer:

ASDF
QWERTY

Andre brugte escape-sekvens er \t, når de anvendes i dobbelt citater bliver det i fanebladet karakter. Ikke meget ofte, men stadig bruges \b, dette særlige tegn sletter det foregående tegn (kan bruges til at skabe meget simple animationer i konsollen). Der er nogle mere flugt sekvenser, de er lidt brugt.

Interpolation af variabler

Hvis strengen er oprettet ved hjælp af dobbelte anførselstegn til at skrive variabel navn, string navn vil vises værdien af denne variabel (når du bruger anførselstegn i strengen vil være det navn).

Denne funktion af sprog er meget ofte bruges.

▶ Run
#!/usr/bin/perl

my $var = 'John';

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

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

Dette program vil vise:

Hello, $var
Hello, John

String $str1 vi har skabt ved hjælp af anførselstegn i strengen indeholder præcis, hvad der blev skrevet i strengen bogstavelig — 'Hello, $var'. Og i overensstemmelse $str2 variabel navn $var , erstattes med værdien af denne variabel.

Bemærk venligst, at der kun udsender skalarer og arrays:

▶ 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";

Dette program viser teksten John one two %h &my_sub. Skalar $var og array @arr viste i værdi og hash %h og Saba my_sub — nr.

Anbefaling

I mange tilfælde, at skabe strengkonstanter alligevel, så og enkelt og dobbelte anførselstegn vil arbejde det samme. Henstilling er det — hvis en streng Litera stadig brug det, skal du bruge enkelte anførselstegn.

Andre artikler