„Stygų literatūros“ supratimas rubine

Styginiai daiktai sulaiko užsakytos sekos baitų, paprastai simbolių, paprastai formuojant žmonėms skaitomą tekstą. Jie yra labai paplitęs objekto tipas visose programavimo kalbose, ir Rubinas turi daugybę aukšto ir keleto žemo lygio būdų, kaip sukurti, pasiekti ir valdyti „String“ objektus.

Stygos dažniausiai kuriamos su a Styginių pažodinis. A pažodinis yra speciali „Ruby“ kalbos sintaksė, sukurianti konkretaus tipo objektą. Pavyzdžiui, 23 yra žodynas, sukuriantisFixnum objektas. Kalbant apie styginių literatūrą, yra keletas formų.

Vienos ir dvigubos citatos

Dauguma kalbų turi eilutės, panašios į šią, kalbą, todėl tai gali būti pažįstama. Citatos rūšys '(viena citata, apostrofas arba sunki citata) ir "(dviguba citata arba minkšta citata) naudojami įterpti eilutės litralus, bet kas tarp jų bus paverstas eilutės objektais. Šis pavyzdys tai parodo.

Tačiau yra keletas skirtumų tarp viengubų ir dvigubų kabučių. Dvigubos citatos arba minkštos citatos įgalinti tam tikrą magiją įvykti užkulisiuose. Naudingiausia yra interpoliacija stygų viduje, naudinga įterpiant kintamojo vertę į eilutės vidurį. Tai pasiekiama naudojant

instagram viewer
#{ … } seka. Šis pavyzdys paprašys jūsų vardo ir pasveikins jus, naudodamas interpoliaciją, kad įterptumėte savo vardą į atspausdintą eilutės žodį.

Atminkite, kad petnešose gali būti bet koks kodas, ne tik kintamieji pavadinimai. „Ruby“ įvertins tą kodą ir, nepaisant to, kuris bus grąžintas, bandys jį įterpti į eilutę. Taigi galėtum taip pat lengvai pasakyti „Sveiki, # {gets.chomp}“ ir pamiršk apie vardas kintamasis. Tačiau gera praktika neleisti ilgų posakių į petnešas.

Pavienės citatos, apostrofai arba kietos citatos yra daug griežtesni. Pavienių citatų viduje „Ruby“ neatliks interpoliacijos ar pabėgti sekas išskyrus pabėgimą nuo atskiros citatos simbolio ir paties pasvirojo brūkšnio (\' ir \\ atitinkamai). Jei neketinate naudoti interpoliacijos, rekomenduojama dažniau naudoti pavienes citatas.

Šis pavyzdys bandys interpoliuoti kintamąjį atskirų kabučių viduje.

Jei tai vykdysite, klaidos nebus, tačiau kas bus atspausdinta?

Interpoliavimo seka buvo perduota per nesusipratimą.

Kada turėčiau naudoti vienkartines ir dvigubas citatas

Tai stiliaus klausimas. Kai kurie nori visą laiką naudoti dvigubas citatas, nebent jos taptų nepatogios. Kiti verčiau naudotų atskiras citatas, nebent būtų siekiama interpoliuoti. Nieko iš prigimties pavojinga apie dvigubų kabučių naudojimą visą laiką, tačiau tai palengvina kai kurių kodų skaitymą. Nereikia skaityti eilutės skaitant kodą, jei žinote, kad joje nėra interpoliacijų, nes žinote, kad pati eilutė neturės jokio šalutinio poveikio. Taigi, kurią jūsų vartojamą pažodžiui eilutės formą turite nuspręsti, čia nėra jokio teisingo ir netinkamo būdo.

Pabėgimo sekos

Ką daryti, jei į eilutės žodyną norite įtraukti citatos ženklą? Pavyzdžiui, eilutė "Steve'as pasakė" Moo! " neveiks. Ir nebus 'Negaliu to liesti!'. Abi šios eilutės apima citatos ženklą eilutės viduje, veiksmingai užbaigiant eilutės eiliškumą ir sukeliant sintaksės klaidą. Galite pakeisti kabučių ženklus, pvz 'Steve'as tarė:' Moo! '', bet tai tikrai neišsprendžia problemos. Vietoj to, jūs galite išvengti bet kokio citatos simbolio eilutės viduje, ir jis praras savo specialiąją prasmę (šiuo atveju ypatinga reikšmė yra uždaryti eilutę).

Jei norite pabėgti nuo veikėjo, pridenkite jį pasviruoju brūkšniu. Atvirkštinis brūkšnys liepia Ruby ignoruoti bet kokią ypatingą reikšmę, kurią gali turėti kitas veikėjas. Jei tai atitinkamas citatos simbolis, nenutraukite eilutės. Jei tai maišos ženklas, nepradėkite interpoliacijos bloko. Šis pavyzdys parodo šį pasvirojo brūkšnio naudojimą norint išvengti specialiųjų simbolių.

Krypties brūkšnys gali būti naudojamas pašalinti bet kokią ypatingą reikšmę iš šio simbolio, tačiau, klaidinančiai, jis taip pat gali būti naudojamas žymėti ypatingą elgesį dvigubai cituojamose eilutėse. Dauguma šių specialių elgsenų yra susijusios su simbolių ir baitų sekų, kurių neįmanoma įvesti ar vizualiai parodyti, įterpimu. Ne visos eilutės yra simbolių eilutės arba jose gali būti valdymo sekos, skirtos terminalui, o ne vartotojui. „Ruby“ suteikia jums galimybę įterpti šio tipo stygas naudojant pasvirojo brūkšnio pabėgimo ženklą.

  • \ n - naujos eilutės simbolis. kelia metodas tai daro automatiškai, bet jei norite įterpti vieną į eilutės vidurį arba eilutė yra skirta kažkam, išskyrus kelia metodą, galite naudoti tai norėdami įterpti naują eilutę į eilutę.
  • \ t - skirtuko simbolis. Skirtuko simbolis perkelia žymeklį (daugumoje terminalų) į daugiklį iš 8, todėl tai labai naudinga rodymo lentelių duomenims. Tačiau yra ir geresnių būdų, kaip tai padaryti, ir tabuliatoriaus ženklo naudojimas yra laikomas šiek tiek archajišku ar apmaudu.
  • \ nnn - pasvirasis brūkšnys, einantis po 3 skaičių, žymės ASCII ženklą, žymimą 3 aštuntainiais skaitmenimis. Kodėl aštuonkojis? Dažniausiai dėl istorinių priežasčių.
  • \ xnn - pasvirasis brūkšnys, x ir 2 šešioliktainiai skaitmenys. Tokia pati kaip aštuonios versijos, tik su šešioliktainiais skaitmenimis.

Tikriausiai niekada nenaudosite daugumos iš jų, bet žinokite, kad jie egzistuoja. Taip pat atminkite, kad jie dirba tik su dvigubomis citatomis.

Kitame puslapyje aptariamos kelių eilučių eilutės ir pakaitinė stygų literatūros sintaksė.

Daugia eilutės stygos

Daugumoje kalbų neleidžiama kelių eilučių eilės rašmenys, tačiau „Ruby“ tai daro. Nereikia baigti jūsų stygų ir pridėti daugiau stygų kitai eilutei. „Ruby“ puikiai tvarko kelių eilučių eiliuotus rašmenis su numatytuoju sintaksė.

Alternatyvioji sintaksė

Kaip ir daugelyje kitų literatūros šaltinių, „Ruby“ pateikia pakaitinę stygų literatūros sintaksę. Pvz., Jei rašytiniuose žodžiuose naudojate daug citatų ženklų, galbūt norėsite naudoti šią sintaksę. Kai naudojate šią sintaksę, tai yra stiliaus klausimas, jos paprastai nėra reikalingos styginiams.

Jei norite naudoti alternatyvią sintaksę, naudokite šią seką, naudodami viena citata stygas % q {…}. Panašiai naudokite šią sintaksę dvigubai cituojamoms eilutėms % Q {…}. Ši pakaitinė sintaksė vadovaujasi tomis pačiomis taisyklėmis, kaip ir jų „normalūs“ pusbroliai. Be to, atkreipkite dėmesį, kad vietoje petnešų galite naudoti bet kuriuos norimus ženklus. Jei naudosite petnešas, kvadratinį skliaustą, kampinį skliaustą ar skliaustelius, atitikimo simbolis baigsis pažodžiui. Jei nenorite naudoti atitikmenų, galite naudoti bet kurį kitą simbolį (bet ne raidę ar skaičių). Žodis bus uždarytas kitu tuo pačiu simboliu. Šiame pavyzdyje parodyti keli šios sintaksės panaudojimo būdai.

Pakaitinė sintaksė taip pat veikia kaip kelių eilučių eilutė.

instagram story viewer