Rânduri de rubin

Linile sunt lungimi arbitrare ale seturilor de caractere care sunt închise în ghilimele simple sau duble.

Puteți declara liniile utilizând identificatorul special al șirului% q, de exemplu:







Nu puteți utiliza numai numere și litere, toate celelalte caractere sunt disponibile pentru a include un literal șir în ele. Concluzia unui șir în caractere arbitrare prezentată în exemplul de mai sus este echivalentă cu încheierea în citate unice. Acest lucru este important pentru a ști, deoarece între linia în citate unice și în dublu există o mare diferență, dar despre acest lucru un pic mai mic.

Ruby vă permite, de asemenea, să creați literali de șir care să ia câteva linii fizice:

Amintiți-vă! Corzile închise în ghilimele duble pot conține fragmente de cod executabil, precum și caractere speciale, de exemplu același caracter nou. Codul plasat pe linie va fi executat și valoarea returnată la acesta va fi inserată în locul său în linie. Codul pe care doriți să-l introduceți în șir trebuie să fie închis în bretele, înaintea cărora trebuie urmat simbolul ascuțit - #, exemple:

Dacă nu vrei ceva plasat în #<> executate ca cod și că caracterele speciale din linia sunt ignorate, trebuie să utilizați citate simple pentru a închide un șir în ele sau pentru a scăpa de fragmentele dintr-un șir închis în ghilimele duble care pot fi executate. Screening-ul are loc folosind caracterul invers "\", exemple:

Rețineți că, indiferent dacă inserăm un șir în ghilimele duble sau simple, variabilei i se atribuie un șir închis în ghilimele duble. Aceasta înseamnă că linia închisă în citate unică scapă automat.

În ciuda faptului că în liniile de prizonieri în citate unice de screening se întâmplă automat, există încă un caracter pe care trebuie cu siguranță să-l afișați - acestea sunt de fapt citate simple, un exemplu:

O astfel de screening-ul într-o singură linie, este necesar să se asigure că interpretul la citirea codului nu este confuz dacă într-o singură parte citat din șirul de caractere, sau ea îl completează. Pentru astfel de cazuri, și are capacitatea de a crea linii cu un identificator de linie% q și caractere de încadrare arbitrare ca șirul creat în acest mod este șir identic ghilimele simple, cu singura diferență fiind că nu trebuie să ecran disponibil pe citate de linie exemplu:

Acest lucru se face cu crearea de linii, vom trece la o lecție atât de importantă ca și lucrul cu șiruri de caractere!

Ruby este un limbaj de programare foarte elegant, care are o sintaxă foarte convenabilă și ușor de înțeles și oferă o mulțime de metode încorporate pentru a lucra cu tipuri de bază.

Combinarea șirurilor (cu alte cuvinte, concatenarea) este suficientă pentru a folosi operatorul + (deoarece nu este ciudat, este aceeași metodă), un exemplu:

Sunt de acord, + aici pare mult mai logic decât. în PHP, iar codul este mai ușor de citit.

Un alt mod de a combina siruri de caractere este acela de a folosi operatorul *, care se refera la faptul ca combina stringul cu copiile lui N de cateva ori, de exemplu:

Indexarea rândurilor, elementelor de linie
În Ruby, șirurile au mai multe asemănări cu matricea, deoarece fiecare caracter din șir are propriul index - ordinea în care poate fi accesat. Pentru a pune chiar și mai exact, există doi astfel de indici: stângaci și dreptaci, exemple:







Indiciile din partea stângă indică poziția caracterului din partea stângă (de la început) a liniei și începe de la zero. Indicii de dreapta indică poziția caracterului pe partea dreaptă (de la capătul liniei) și încep cu -1, în timp ce toți indiciile de pe dreapta au un semn "-", care le distinge de cele drepte. Terminologia "partea stângă a liniei" și "partea dreaptă a liniei" este mai corectă, deoarece, de exemplu, în arabă, litera merge de la dreapta la stânga.

Ruby vă permite accesul nu numai la un singur caracter în șir, dar, de asemenea, la un set de astfel de intervale de caractere, pentru acest lucru între paranteze trebuie să fie specificate, sau indicele primului caracter selectat și numărul de caractere selectabile sau intervalul de index de caractere selectabile, exemple:

Nu puteți primi numai fragmente dintr-un șir, ci și setați valorile pentru acestea:

Lucrul cu șiruri de caractere
În Ruby, aproape orice, cu câteva excepții, este un obiect și linia nu face excepție. Un obiect șir este de tip String, adică este o instanță a clasei String. Acest lucru înseamnă că un șir, ca orice alt obiect, are propriile sale metode, unele dintre ele pe care le-ați văzut deja în exemplele de mai sus. Pentru a vedea dacă ceva este un obiect, este suficient să încercați să numiți această metodă "ceva" #class. Metoda #class nu returnează mesajul "Acest lucru este un obiect", returnează clasa (tipul) de care aparține obiectul. Dacă ceva nu este un obiect, atunci nu există metode.

Apoi, vom vorbi despre metodele de șiruri de caractere, de fapt există o mulțime de ele. Atenția ta va fi prezentată celor mai populare, nu trebuie să fie amintite. Trebuie doar să știți că există o astfel de metodă și ce face. Pentru a nu reinventa roata, dacă este necesar, ci pur și simplu o găsiți. Fie pe acest site, fie în rubydoc.

Linile au mai multe metode care vă permit să lucrați cu registrul de caractere:
#upcase - această metodă traduce toate caracterele șirului în majuscule (face toate literele capital), de exemplu:


Rețineți că șirul nu sa schimbat, metoda #upcase a returnat pur și simplu o linie nouă. Pentru a schimba linia pentru care a fost apelată metoda, trebuie să utilizați metodele BANG.
Metodele BANG sunt metode care modifică obiectul pentru care sunt numite. În ele nu există nimic special, cu excepția numelui. Pentru metodele BANG este de dorit, dar nu este necesar să se dea nume care să se încheie cu "!", În cazul nostru, aceasta este metoda #upcase!:

#downcase - această metodă este opusul metodelor #upcase, traducerea caracterelor de caractere în litere mici, de exemplu:

#capitalize - această metodă este folosită pentru a face prima literă a capitalului de linie:


#swapcase - această metodă convertește cazul caracterelor la invers, adică literele majuscule cu majuscule și literele mici în majuscule, de exemplu:

#lstrip și #rstrip - aceste metode sunt utilizate pentru a elimina spațiile din partea stângă a liniei și din partea dreaptă a liniei, de exemplu:

#strip - această metodă combină atât #lstrip cât și #rstrip:

#reverse - această metodă modifică ordinea caracterelor din șir la invers, de exemplu:

#size și #length - ambele metode execută aceeași acțiune - returnează numărul de caractere din șir:

#delete - această metodă șterge un fragment de linie, de exemplu:

#scan - Metoda are o expresie regulată ca argument și returnează o serie de substringuri (fragmente de linie) care se potrivesc cu expresia regulată. Expresiile regulate vor fi dedicate unui capitol separat, dar pentru moment un exemplu:

#chomp - această metodă șterge sfârșitul șirului. Utilizați acest simbol ori de câte ori obțineți informații de la consola, deoarece liniile se termină cu un caracter de linie nouă.
Ca exemplu, vreau să citez o metodă mică și prostească care traduce forma plurală a unui cuvânt englez într-o singură formă pur și simplu ștergând sfârșitul:


#index și #rindex - aceste metode iau ca argument un șir sau un șablon al expresiei regulate și returnează respectiv indexul caracterului șirului din care începe prima sau ultima potrivire a modelului, exemple:

#insert - Această metodă acceptă un argument șir de caractere și introduceți poziția (index) pentru a insera acest șir într-un șir de caractere pentru care a fost numit, iar personajele sunt în locul în care se face nu vor fi suprascrise de înregistrare și sunt deplasate înainte, de exemplu:

Metoda #insert face modificări direct pe linia însăși.

#chars și #each_char sunt metodele iterator care trec prin fiecare caracter al șirului, îl transmit unui bloc de cod care efectuează o anumită acțiune asupra fiecărui caracter.
NOTĂ! În versiunea 2.0, metoda chars returnează acum o matrice

#empty? - această metodă returnează adevărat dacă șirul este gol și fals dacă există cel puțin un caracter în șir:

#include? - metoda ia un fragment de linie și verifică șirul pentru care a fost numit dacă există substringuri în fragmentul corespunzător, de exemplu:







Articole similare

Trimiteți-le prietenilor: