Ruby (llenguatge de programació)
Rubí llenguatge de programació | |
---|---|
Autor | Yukihiro Matsumoto |
Data d’origen | 1995 [1] |
Última versió | 3.0.1 (5 d'abril de 2021) |
Ús | genèric, scripting |
Paradigmes | orientat a objectes |
Escrivint | ànec , dinàmic |
Extensions comunes | rb i rbw |
Influenciat per | Lisp Smalltalk Perl |
Implementació de referència | |
Sistema operatiu | Multiplataforma |
Llengua | ca |
Llicència | Llicència pública general GNU |
Lloc web | www.ruby-lang.org/it/ |
Ruby és un totalment a objectes de codi obert orientat interpretat Llenguatge de Programació . Nascut el 1995 com a projecte personal del japonès Yukihiro Matsumoto (sovint anomenat simplement Matz ), s’inspira en altres llenguatges com Perl , SmallTalk , Eiffel , Ada i Lisp amb l’objectiu d’equilibrar acuradament paradigmes de programació funcionals i imperatius [2]. ] .
L'èxit de frameworks com Ruby on Rails ha ajudat a la difusió de Ruby especialment en el desenvolupament d' aplicacions web . Actualment es troba entre els deu primers idiomes més populars i usats del món segons diversos índexs de mesura específics, com ara TIOBE [3] .
Sistemes operatius
L'intèrpret Ruby està disponible per als sistemes operatius següents:
- La majoria de sistemes basats en Unix
- DOS
- Microsoft Windows 95/98/2000/2003 / NT / XP / Vista / 7/8 / 8.1 / 10
- macOS
- BeOS
- Amiga OS
- OS RISC de gla
- OS / 2
- Síl·laba
- PlayStation Portable
- Android
Poden existir ports per a altres sistemes operatius. També hi ha JRuby , una implementació Java de l’intèrpret .
Principals característiques
Ruby, tot i ser un llenguatge objecte, té algunes característiques pròpies dels paradigmes imperatius i funcionals.
El paradigma d'objectes de Ruby és pur, com el de Smalltalk , és a dir, cada component del llenguatge, des de constants numèriques fins a classes , és un objecte i, com a tal, pot tenir mètodes . No obstant això, a diferència de llenguatges com C ++ i derivats, els objectes de Ruby són molt més dinàmics, ja que és possible afegir o modificar mètodes en temps d'execució . Per tant, el tipus d’objecte no està definit tant per la classe que el va instanciar , sinó pel conjunt de mètodes que posseeix, o, segons la terminologia que s’utilitza habitualment per als llenguatges a l’estil Smalltalk, dels missatges als quals pot respondre.
Per tant, a Ruby és fonamental l’ escriptura d’ànecs (de l’anglès si sembla un ànec, i és com un ànec, ha de ser un ànec : "ser un ànec"), aquest és el principi segons el qual el comportament d'una funció sobre els seus arguments no han de determinar-se pel tipus d'aquests (com passa a C ++ i altres llenguatges de tipologia estàtica ), sinó pel tipus de missatges que poden gestionar.
Una altra característica fonamental de Ruby la constitueixen els anomenats blocs , que són essencialment tancaments (és a dir, funcions amb un entorn), que permeten substituir els bucles explícits, freqüents en llenguatges de baix nivell, amb l’ús d’ iteradors , que oculten tot els mecanismes interns del cicle en qüestió.
Exemples
Hola món
L'exemple següent escriu el text " Hola món " al terminal de sortida.
posa "Hello World"
Classes i mètodes
Aquí teniu un programa semànticament idèntic a l’anterior, però que fa ús del paradigma de l’objecte Ruby.
classe Salutador
attr_reader : destinatari
inicialitzar def ( destinatari )
@ destinatari = destinatari
final
def saludar
posa "Hola # { destinatari } "
final
final
salutador = Salutador . nou ( "món" )
saludador . saludar
Escrivint ànecs
La funció definida a continuació actua de manera diferent en funció dels missatges als quals respongui el seu argument.
def text_of ( widget )
si giny . respondre a? : subtítol
giny . subtítol
widget elsif . respondre a? : text
giny . text
en cas contrari
augmentar "no hi ha text associat al widget # { widget } "
final
final
Blocs i iteradors
Els bucles a Ruby normalment es realitzen mitjançant iteradors, que passen un bloc, en forma de codi entre les paraules clau do i final , tal com es mostra a l'exemple següent,
5 . els temps sí
posa "Hola món"
final
en què el mètode times de l'objecte "número 5" s'encarrega d'executar el nombre correcte de vegades (5, per precisar) el codi indicat.
En definir un iterador, s’utilitza la paraula clau rendiment .
classe Enter
def times_header_and_footer
posa "- BEGIN -"
els temps sí
rendiment
final
posa "- FI -"
final
final
5 . times_header_and_footer fer
posa "Hola món"
final
Observeu com s'ha tornat a obrir la classe Integer (una classe predeterminada) per afegir un mètode. La sortida del guió és
- COMENÇAR - Hola món Hola món Hola món Hola món Hola món - FINAL -
Comentaris
Comentaris d’una sola línia o de diverses línies
# Aquest és un comentari
= començar
Això és
un comentari
en diverses línies
= final
Tingueu en compte que en els comentaris de diverses línies, =begin
i =end
han de ser al principi de la línia, sense cap sagnat .
Nota
- ^ ruby-lang.org , https://www.ruby-lang.org/en/about/ .
- ^ Quant a Ruby , a www.ruby-lang.org . Recuperat el 27 de juliol de 2021 .
- ^ índex | TIOBE: la companyia de qualitat del programari , a www.tiobe.com . Recuperat el 27 de juliol de 2021 .
Articles relacionats
Altres projectes
-
Wikimedia Commons conté imatges o altres fitxers sobre Ruby
Enllaços externs
- ( EN ) Lloc oficial , a ruby-lang.org .
- Ruby , a packages.debian.org .
- (EN) Ruby a GitHub .
- Dipòsit de fonts de Ruby , a git.ruby-lang.org .
- (EN) Ruby , al Directori de programari lliure .
- "Aprèn a programar": el famós tutorial de Chris Pine per aprendre a programar en Ruby des de zero, traduït a l'italià , a corsidia.com .
- Guies, articles en profunditat, documentació, preguntes freqüents i recursos del fòrum, tots dedicats a Ruby, Rails i desenvolupament web , a ruby.html.it.
- ( EN ) El petit llibre de Rubí Introducció ràpida a la llengua
- (EN) Learning Ruby a math.umd.edu. Consultat el 19 de setembre de 2008 (arxivat de l' original el 5 de desembre de 2008) .
Control de l'autoritat | LCCN (EN) sh00000128 · GND (DE) 4653817-3 · BNF (FR) cb144105976 (data) · BNE (ES) XX4424926 (data) |
---|