Ruby (llenguatge de programació)

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Rubí
llenguatge de programació
Ruby logo.svg
Autor Yukihiro Matsumoto
Data d’origen 1995 ; Fa 26 anys [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:

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 
  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 
      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

  1. ^ ruby-lang.org , https://www.ruby-lang.org/en/about/ .
  2. ^ Quant a Ruby , a www.ruby-lang.org . Recuperat el 27 de juliol de 2021 .
  3. ^ índex | TIOBE: la companyia de qualitat del programari , a www.tiobe.com . Recuperat el 27 de juliol de 2021 .

Articles relacionats

Altres projectes

Enllaços externs

Control de l'autoritat LCCN (EN) sh00000128 · GND (DE) 4653817-3 · BNF (FR) cb144105976 (data) · BNE (ES) XX4424926 (data)