Pridržite se strunski predmeti urejene sekvence bajtov, običajno znakov, navadno tvorijo koščke besedila, ki ga je mogoče prebrati ljudi. So zelo pogost tip predmeta v vseh programskih jezikih in Ruby ima številne načine na visoki ravni in nekaj načinov za ustvarjanje, dostop do nizov in upravljanje z njimi.
Strune so najpogosteje ustvarjene z a Niz dobeseden. A dobesedno je posebna skladnja v jeziku Ruby, ki ustvari predmet določene vrste. Na primer 23 je dobesed, ki ustvarjaFixnum objekt. Kar zadeva literarne strune, obstaja več oblik.
Single-Quotes in Double Quoted Strings
V večini jezikov je niz struktur podoben temu, tako da je to morda znano. Vrste navedkov "(en sam citat, apostrof ali trdi citat) in "(dvojni citat oz mehka ponudba) se uporabljajo za zapiranje niza dobe, vse med njimi se bo spremenilo v String objekte. Naslednji primer to dokazuje.
Obstajajo pa nekatere razlike med enojnimi in dvojnimi citati. Dvojne navedbe oz mehki citati omogoči nekaj čarovnije, da se zgodi za kulisami. Najbolj uporabna je interpolacija znotraj vrvic, uporabna za vstavljanje vrednosti spremenljivke v sredino niza. To dosežemo z uporabo
#{ … } zaporedje. Naslednji primer vas bo vprašal za svoje ime in vas pozdravil z uporabo interpolacije, da vstavite svoje ime v natisnjeni niz.Upoštevajte, da lahko vsaka koda spada v naramnice, ne le imena spremenljivk. Ruby bo ocenila to kodo in karkoli bo vrnila, jo bo poskusila vstaviti v niz. Torej bi lahko prav tako enostavno rekli "Pozdravljeni, # {get.chomp}" in pozabi na ime spremenljivka. Vendar je dobra praksa, da v naramnice ne postavljate dolgih izrazov.
Posamezni citati, apostrofe ali trdi citati so veliko bolj restriktivne. Znotraj posameznih citatov Ruby ne bo izvedel interpolacije oz bežne sekvence razen izogibanja znaku posameznega citata in poševnice (\' in \\ oz.). Če interpolacije ne nameravate uporabljati, je priporočljivo, da pogosteje uporabljate posamezne navedbe.
Naslednji primer bo poskusil interpolirati spremenljivko znotraj posameznih citatov.
Če to zaženete, ne boste dobili nobene napake, ampak kaj bo natisnjeno?
Interpolacijsko zaporedje je bilo preneseno skozi neprečiščeno.
Kdaj naj uporabljam enojne in dvojne navedbe
To je stvar sloga. Nekateri raje ves čas uporabljajo dvojne narekovaje, razen če postanejo neprijetni. Drugi bi raje uporabili posamezne narekovaje, razen če je namen interpolacijskega vedenja. Nič po sebi ni ničesar nevarno o tem, da ves čas uporabljamo dvojne narekovaje, vendar je koda lažja za branje. Pri branju kode vam ni treba brati niza, če veste, da v njem ni interpolacij, ker veste, da sam niz ne bo imel stranskih učinkov. Torej, katera vrsta dobesedne oblike, ki jo uporabljate, je odvisna od vas, tukaj ni pravega pravega in napačnega načina.
Sledi pobega
Kaj pa, če želite v literalnem nizu vključiti citatni znak? Na primer, niz "Steve je rekel" Moo! " ne bo delovalo. In tudi ne bo "Tega se ne morem dotakniti!". Obe struni vsebujeta citatni znak v nizu, kar dejansko konča nizko besedilo in povzroči napako skladnje. Lahko zamenjate znake citatov, kot so 'Steve je rekel "Moo!", vendar to res ne reši težave. Namesto tega se lahko izognete kateremu koli znaku citata znotraj niza in izgubil bo poseben pomen (v tem primeru je poseben pomen zapreti niz).
Če želite ubežati znaku, ga dodajte z nagnjeno črto. Znak zadnje poševnice nakaže Rubyju, naj ignorira kakršen koli poseben pomen, ki ga ima lahko naslednji znak. Če gre za ujemajoči se citatni znak, ne končajte z nizom. Če je to hash znak, ne zaženite interpolacijskega bloka. Naslednji primer prikazuje to uporabo poševnice za pobeg posebnih znakov.
Znak slednje poševnice lahko uporabite za odstranitev vsakega posebnega pomena iz naslednjega znaka, zmedeno pa ga lahko uporabite tudi za označevanje posebnega vedenja v nizih z dvojno citiranjem. Večina teh posebnih vedenj se nanaša na vstavljanje znakov in zaporedja bajtov, ki jih ni mogoče vtipkati ali predstaviti vizualno. Niso vsi nizi znakovnih nizov ali lahko vsebujejo kontrolne sekvence, namenjene terminalu in ne uporabniku. Ruby vam omogoča, da vstavite te vrste strun s pomočjo znaka za pobeg nazaj.
- \ n - Znak nove vrstice. The postavlja metoda to naredi samodejno, če pa ga želite vstaviti na sredino niza ali pa je niz namenjen nečemu drugemu kot postavlja metoda, lahko to uporabite za vstavljanje nove vrstice v niz.
- \ t - Znak zavihka. Znak zavihka premakne kazalec nad (na večini terminalov) na večkratnik 8, zato je to zelo koristno za prikaz tabelarnih podatkov. Vendar obstajajo boljši načini za to in uporaba znaka zavihka velja za malo arhaično ali hecno.
- \ nnn - Poševna črta, ki ji sledijo 3 številke, označuje znak ASCII, predstavljen s 3 oktalnimi števkami. Zakaj oktalno? Večinoma iz zgodovinskih razlogov.
- \ xnn - naklonna črta, x in dve šestnajsti števki. Enako kot oktalna različica, le s šestnajstnimi številkami.
Verjetno jih večine ne boste nikoli uporabljali, vendar vedite, da obstajajo. In ne pozabite tudi, da delujejo le v nizih z dvojnim citiranjem.
Naslednja stran razpravlja o vrsticah z več vrsticami in nadomestni sintaksi za literarne nize.
Večnamenske strune
Večina jezikov ne dovoljuje večvrstnih nizov dobesednih besed, vendar Ruby to počne. Ni treba končati strun in dodati vrstice za naslednjo vrstico. Ruby z večnamenskimi navadnimi besedilnimi črkami ravna dobro s privzeto. skladnja.
Nadomestna sintaksa
Kot pri večini drugih literalov tudi Ruby ponuja nadomestno skladnjo za nizke literale. Če na primer uporabljate veliko citatnih znakov v literalih, boste morda želeli uporabiti to skladnjo. Ko uporabljate to skladnjo, je stvar sloga, običajno niso potrebni za strune.
Če želite uporabiti nadomestno skladnjo, uporabite naslednje zaporedje za nizke z enim citatom % q {…}. Podobno uporabite spodnjo skladnjo za nizove z dvojnim citiranjem % Q {…}. Ta nadomestna skladnja sledi vsem istim pravilom kot njihovi "običajni" bratranci. Upoštevajte tudi, da lahko namesto naramnic uporabite poljubne znake. Če uporabljate oklepaj, kvadratni nosilec, kotni oklepaj ali oklepaj, potem ujemajoči se znak konča dobesedno. Če ne želite uporabljati ujemajočih se znakov, lahko uporabite kateri koli drug simbol (karkoli ni črka ali številka). Dobesedno bo zaprto z drugim istim simbolom. Naslednji primer prikazuje več načinov uporabe te skladnje.
Nadomestna skladnja deluje tudi kot niz z več vrsticami.