Rubin vonalak

A sorok tetszőleges hosszúságú karakterkészletek, amelyek egy vagy kettős idézőjelbe vannak zárva.

A% q karakterlánc speciális azonosítójával deklarálhat sorokat, például:

Nem lehet csak számokat és betűket használni, minden más karakter elérhető a szöveges karakterlánc beillesztéséhez. A fenti példában szereplő tetszőleges karakterű karakterláncok megkötése egyenértékű az egyes idézőjelek megkötésével. Ez fontos tudni, mert a sorban az egyes idézőjelek és kettős van egy nagy különbség, de ez egy kicsit alacsonyabb.

A Ruby lehetővé teszi a szöveges karakterek létrehozását is, amelyek több fizikai vonalat is igénybe vehetnek:

Ne feledd! A kettős idézőjelben szereplő karakterláncok végrehajtható kódfragmenteket, valamint speciális karaktereket tartalmazhatnak, például ugyanazt az újsor karaktert. A vonalon elhelyezett kódot végrehajtja, és a visszaküldött érték a sorban lévő helyére kerül. A karaktersorozatban szereplő kódot zárójelben kell elhelyezni, amely előtt az éles szimbólumot kell követni - #, példák:

Ha nem akarsz valamit elhelyezni a #<> és a vonalban lévő speciális karaktereket figyelmen kívül hagyja, vagy használjon egy idézőjelet, hogy csatoljon egy szöveget, vagy távolítsa el a végrehajtható kettős idézőjelekkel ellátott string töredékeit. A szűrés a "\" hátsó sáv karakter használatával történik, például:

Vegyük észre, hogy függetlenül attól, hogy két vagy kettős idézőjelbe csatoljuk-e a karakterláncot, a változóhoz kettős idézőjelekkel ellátott string tartozik. Ez azt jelenti, hogy az egyes idézőjelekbe foglalt vonal automatikusan eltűnik.

Annak ellenére, hogy a foglyok vonalaiban az egyes idézőjeleknél a szűrés automatikusan megtörténik, még mindig van egy karakter, amelyet feltétlenül meg kell vizsgálni - ezek valójában egy idézetek, például:

Az ilyen szűrővizsgálat egy sorban van szükség annak érdekében, hogy a tolmács az olvasó a kód nem zavaros-e egy idézet része a szöveg, vagy ő kiegészíti azt. Az ilyen esetekben, és megvan az a képessége, hogy hozzon létre vonalak egy sor azonosítója% q és önkényes keretező karaktereket, mint a húr az így létrehozott azonos karakterlánc zárt aposztrófok, az egyetlen különbség, hogy nem kell a képernyő elérhető on-line idézetek például:

Ez soros vonalak létrehozásával történik, mi olyan fontos lecke lesz, mint a húrok használata!

A Ruby egy nagyon elegáns programozási nyelv, amely nagyon kényelmes és érthető szintaxissal rendelkezik, és számos beépített módszert kínál az alapvető típusokhoz való munkához.

A stringek összekapcsolása (más szóval, összefűzés) elegendő a + operátor használatához (mivel ez nem furcsa, ugyanaz a módszer), egy példa:

Elfogadom, a + itt sokkal logikusabbnak tűnik. a PHP-ben, és a kód olvashatóbb.

A karakterláncok kombinálásának másik módja az * operátor használata, amely azzal foglalkozik, hogy kombinálja a karakterláncot az N példányszámmal, például:

Sorok, vonalelemek indexelése
A Ruby-ban a karakterláncok több hasonlóságot mutatnak a tömbökhöz, mivel a karakterlánc minden karakterének saját indexe van - a sorrend, amelyben elérhetõ. Pontosabb megfogalmazásra két ilyen index van: balkezes és jobbkezes, példák:

A baloldali indexek jelzik a karakter pozícióját a vonal bal oldalán (a kezdetektől) és nulláról indulnak. A jobboldali indexek jelzik a szimbólum helyét a jobb oldalon (a vonal végétől), és a -1-gyel kezdődnek, míg a jobb oldali indexek "-" jellel rendelkeznek, ami megkülönbözteti őket a bal kézből. A terminológia "jobboldala" és "a vonal jobb oldala" terminológia pontosabb, mert például arabul a levél balról jobbra halad.

Ruby lehetővé teszi a hozzáférést nem csak egyetlen karakterhez, hanem egy sor időközönként ilyen karakterek, erre zárójelben meg kell adni, vagy az index az első kiválasztott karaktert száma és a választható karakterek, vagy index tartományban választható karakterek, példa:

Nemcsak a karakterlánc töredékét veheti át, hanem az értékeket is beállíthatja:

A húrok használata
A Ruby-ban szinte minden, néhány kivétellel, objektum, és a vonal sem kivétel. A string objektum String típusú, vagyis a String osztály egy példánya. Ez azt jelenti, hogy egy karaktersorozat, mint bármelyik másik objektum, saját módszereivel rendelkezik, amelyek közül néhányat már láttál a fenti példákban. Ha látni akarja, hogy valami van-e valami, elegendő megpróbálni ezt a "valami" módszert # class-t hívni. A #class módszer nem adja vissza az "Ez a tárgy objektum" üzenetet, visszaadja azt az osztályt (típust), amelyhez az objektum tartozik. Ha valami nem tárgy, akkor nincsenek módszerek.

Ezután beszélek a húrok módjáról, sőt sokan vannak. A figyelmét a legnépszerűbbeknek fogják bemutatni, nem kell őket megjegyezni. Csak annyit kell tudnia, hogy létezik ilyen módszer és mit csinál. Ha szükséges, ne újra feltalálja a kereket, hanem egyszerűen megtalálja. Vagy ezen a helyen, vagy rubidok.

A vonalak számos olyan módszerrel rendelkeznek, amelyek lehetővé teszik a karakterek nyilvántartásával való együttműködést:
#upcase - ez a módszer a karakterlánc összes karakterét a nagybetűsre fordítja (minden betűt megtestesít), például:


Ne feledje, hogy a karakterlánc nem változott, a #upcase módszer egyszerűen egy új sort adott vissza. Annak érdekében, hogy megváltoztassuk azt a sort, amelyre a módszert hívták, használnia kell a BANG módszert.
A BANG módszerek olyan módszerek, amelyek módosítják az objektumot, amelyre nevezik őket. Bennük nincs semmi különös, kivéve a nevet. A BANG módszerek esetében kívánatos, de nem szükséges olyan neveket adni, amelyek a "!" -el végződnek, esetünkben ez a módszer #upcase!

# downcase - ez a módszer a #upcase metódusok ellentéte, a karakterláncokat kisbetűsre fordítja, például:

#kapapitalizálás - ezt a módszert használják a vonal tőke első betűjének elkészítéséhez:


#swapcase - ez a módszer átalakítja a karakterek esetét az ellenkezőjére, vagyis a kisbetűs kisbetűket és a kisbetűket nagybetűkkel, például:

#lstrip és #rstrip - ezek a módszerek a sor bal oldalán és a vonal jobb oldalán lévő terek eltávolítására szolgálnak, például:

#strip - ez a módszer egyesíti a #lstrip és #rstrip fájlokat:

#reverse - ez a módszer megváltoztatja a karakterlánc sorrendjét a karakterláncban fordítva, például:

#size és #length - mindkét módszer ugyanazt a műveletet hajtja végre - visszaadják a karakterláncok számát:

#delete - ez a módszer törli a sort, például:

#scan - Az eljárás szabályos kifejezést vesz fel argumentumként, és egy sor szubsztrátot (vonaldarabokat) visz vissza, amelyek megfelelnek a szabályos kifejezésnek. A rendszeres kifejezéseket egy külön fejezetre fordítják, de most egy példa:

#chomp - ez a módszer törli a string végét. Ezt a szimbólumot akkor használja, ha információt kap a konzolról, mert a vonalak új sorral zárulnak.
Példaként szeretnék idézni egy kicsi és buta módszert, amely az angol szó többes számát egyetlen formára fordítja egyszerűen a végződés törlésével:


#index és #rindex - ezek a módszerek az argumentumként a szabályos kifejezés stringjét vagy mintáját veszi, és visszatér a karakterlánc karakterének indexéhez, ahonnan kezdődik az első vagy az utolsó egyezés a mintához, például:

#INSERT - Ez az eljárás elfogad egy string érv, és helyezze a helyzet (index) beilleszteni ezt a string egy húr, amelyre hívták, és a karakterek a helyen, ahol a felvétel készül nem írja felül, és előrelépett egy példa:

A #insert módszer közvetlenül a vonalon változtat.

#chars és #each_char az iterátor módszerek, amelyek áthaladnak a karakterlánc minden karakterén, átadják egy kódblokknak, amely minden egyes karakterre végrehajt egy bizonyos műveletet.
FIGYELEM! A 2.0-s verzióban a karakterszám most egy tömböt ad vissza

#empty? - ez a módszer igaz értéket ad vissza, ha a karakterlánc üres és hamis, ha a karakterlánc legalább egy karaktert tartalmaz:

#include? - a módszer egy vonal-töredéket vesz, és ellenőrzi azt a karakterláncot, amelyre azt nevezték, hogy vannak-e aljzatok a megfelelő töredékben, például:

Kapcsolódó cikkek