Ruby (limbaj de programare)
Rubin limbaj de programare | |
---|---|
Autor | Yukihiro Matsumoto |
Data de origine | 1995 [1] |
Ultima versiune | 3.0.1 (5 aprilie 2021) |
Utilizare | generic, scripting |
Paradigme | orientat spre obiect |
Tastare | rață , dinamic |
Extensii comune | rb și rbw |
Influențată de | Lisp Smalltalk Perl |
Implementare referință | |
Sistem de operare | Multiplatform |
Limbă | ro |
Licență | Licență publică generală GNU |
Site-ul web | www.ruby-lang.org/it/ |
Ruby este un limbaj de programare interpretat cu sursă deschisă complet orientat spre obiecte . Născut în 1995 ca proiect personal al japonezului Yukihiro Matsumoto (adesea numit pur și simplu Matz ), se inspiră din alte limbi precum Perl , SmallTalk , Eiffel , Ada și Lisp cu scopul de a echilibra cu atenție paradigmele de programare funcționale și imperative [2] ] .
Succesul unor cadre precum Ruby on Rails a ajutat la răspândirea Ruby mai ales în dezvoltarea aplicațiilor web . În prezent se află în top zece dintre cele mai populare și utilizate limbi din lume în funcție de diferiți indici de măsurare specifici, cum ar fi TIOBE [3] .
Sisteme de operare
Interpretorul Ruby este disponibil pentru următoarele sisteme de operare :
- Majoritatea sistemelor bazate pe Unix
- DOS
- Microsoft Windows 95/98/2000/2003 / NT / XP / Vista / 7/8 / 8.1 / 10
- macOS
- BeOS
- Amiga OS
- Acorn RISC OS
- OS / 2
- Silabă
- Playstation portabil
- Android
Pot exista porturi pentru alte sisteme de operare. Există, de asemenea, JRuby , o implementare Java a interpretului .
Caracteristici principale
Ruby, deși este un limbaj obiect, are câteva caracteristici tipice paradigmelor imperative și funcționale.
Paradigma obiectelor lui Ruby este pură, ca și Smalltalk , adică fiecare componentă a limbajului, de la constante numerice la clase , este un obiect și, ca atare, poate avea metode . Cu toate acestea, spre deosebire de limbaje precum C ++ și derivate, obiectele din Ruby sunt ceva mult mai dinamice, deoarece este posibil să adăugați sau să modificați metode în timpul rulării . Prin urmare, tipul unui obiect nu este definit atât de mult de clasa care l-a instanțiat , ci de setul de metode pe care le posedă sau, conform terminologiei utilizate de obicei pentru limbaje în stil Smalltalk, de mesajele la care poate răspunde.
În Ruby, prin urmare, tastarea rațelor este fundamentală (din engleză dacă arată ca o rață și șarlatanțe ca o rață, trebuie să fie o rață : „be a duck”), acesta este principiul conform căruia comportamentul unei funcții argumentele sale nu trebuie să fie determinate de tipul acestora (așa cum se întâmplă în C ++ și alte limbi tipizate static ), ci de ce mesaje pot gestiona.
O altă caracteristică fundamentală a lui Ruby o constituie așa-numitele blocuri , care sunt în esență închideri (adică funcții cu un mediu), care vă permit să înlocuiți buclele explicite, frecvente în limbaje de nivel scăzut, cu utilizarea iteratorilor , ascunzând toate mecanismele interne ale ciclului în cauză.
Exemple
Salut Lume
Următorul exemplu scrie textul „ Hello world ” pe terminalul de ieșire.
pune „Hello World”
Clase și metode
Iată un program identic semantic cu cel anterior, dar care folosește paradigma obiectului Ruby.
clasa Greeter
attr_reader : destinatar
inițializare def ( destinatar )
@recipient = destinatar
Sfârșit
def salut
pune „Bună ziua # { destinatar } ”
Sfârșit
Sfârșit
greeter = Greeter . nou ( „lume” )
salutator . salut
Dactilografiere de rață
Funcția definită mai jos acționează diferit în funcție de mesajele la care argumentul său răspunde.
def text_of ( widget )
dacă widget . răspunde la? : subtitrare
widget . legendă
widget elsif . răspunde la? : text
widget . text
altceva
ridicați „nu există text asociat widgetului # { widget } ”
Sfârșit
Sfârșit
Blocuri și iteratoare
Buclele în Ruby sunt de obicei realizate folosind iteratoare, cărora li se transmite un bloc, sub formă de cod între cuvintele cheie do și end , așa cum se arată în exemplul următor,
5 . vremurile fac
pune „Hello world”
Sfârșit
în care metoda times a obiectului „numărul 5” are grijă să execute numărul corect de ori (5, mai exact) codul indicat.
În definirea unui iterator, se folosește cuvântul cheie randament .
clasa Intreg
def times_header_and_footer
pune "- BEGIN -"
vremurile fac
Randament
Sfârșit
pune "- END -"
Sfârșit
Sfârșit
5 . times_header_and_footer face
pune „Hello world”
Sfârșit
Observați cum a fost redeschisă clasa Integer (o clasă implicită) pentru adăugarea unei metode. Ieșirea scriptului este
- ÎNCEPE - Salut Lume Salut Lume Salut Lume Salut Lume Salut Lume - SFÂRȘIT -
Comentarii
Comentarii cu o singură linie sau cu mai multe linii
# Acesta este un comentariu
= începe
Aceasta este
un comentariu
pe mai multe linii
= sfârșit
Rețineți că în comentariile pe mai multe linii, =begin
și =end
trebuie să fie la începutul rândului, fără nicio indentare .
Notă
- ^ ruby-lang.org , https://www.ruby-lang.org/en/about/ .
- ^ Despre Ruby , la www.ruby-lang.org . Adus pe 27 iulie 2021 .
- ^ index | TIOBE - Compania de calitate software , la www.tiobe.com . Adus pe 27 iulie 2021 .
Elemente conexe
Alte proiecte
- Wikimedia Commons conține imagini sau alte fișiere despre Ruby
linkuri externe
- ( RO ) Site oficial , pe ruby-lang.org .
- Ruby , pe packages.debian.org .
- (EN) Ruby pe GitHub .
- Depozit de surse Ruby , la git.ruby-lang.org .
- (EN) Ruby , în Directorul de software gratuit .
- „Învață să programezi” - celebrul tutorial al lui Chris Pine pentru a învăța programarea în Ruby de la zero, tradus în italiană , pe corsidia.com .
- Ghiduri, articole aprofundate, documentație, faq și resurse forum, toate dedicate Ruby, Rails și dezvoltare Web , pe ruby.html.it.
- ( RO ) Cartea lui Ruby Introducere rapidă în limbă
- (EN) Learning Ruby pe math.umd.edu. Adus la 19 septembrie 2008 (arhivat din original la 5 decembrie 2008) .
Controlul autorității | LCCN (EN) sh00000128 · GND (DE) 4653817-3 · BNF (FR) cb144105976 (dată) · BNE (ES) XX4424926 (dată) |
---|