Ruby (programmeringsspråk)

Ruby
programmeringsspråk
ForfatterYukihiro Matsumoto
Opprinnelsesdato1995 [1]
Siste versjon3.0.1 (5. april 2021)
Brukgenerisk, skripting
Paradigmerobjekt orientert
Skrivingand , dynamisk
Vanlige utvidelserrb og rbw
Påvirket avLisp , Smalltalk , Perl
Referanseimplementering
OperativsystemMultiplattform
Tungeno
TillatelseGNU General Public License
Nettstedwww.ruby-lang.org/it/

Ruby er et fullstendig objektorientert åpen kildekode - tolket programmeringsspråk . Født i 1995 som et personlig prosjekt av japanske Yukihiro Matsumoto (ofte ganske enkelt kalt Matz ), henter det inspirasjon fra andre språk som Perl , SmallTalk , Eiffel , Ada og Lisp med sikte på å nøye balansere funksjonelle og imperative programmeringsparadigmer [2 ] .

Suksessen til rammeverk som Ruby on Rails har hjulpet spredningen av Ruby, spesielt i utviklingen av webapplikasjoner . Det er for tiden på topp ti av de mest populære og brukte språkene i verden i henhold til forskjellige spesifikke måleindekser, for eksempel TIOBE [3] .

Operativsystemer

Ruby-tolken er tilgjengelig for følgende operativsystemer :

Porter kan eksistere for andre operativsystemer. Det er også JRuby , en Java-implementering av tolken .

Hovedtrekk

Ruby, til tross for at det er et objektspråk, har noen kjennetegn som er typiske for imperative og funksjonelle paradigmer .

Rubys objektparadigme er rent, som Smalltalks , det vil si at hver komponent i språket, fra numeriske konstanter til klasser , er et objekt , og kan som sådan ha metoder . Imidlertid, i motsetning til språk som C ++ og derivater, er objekter i Ruby noe mye mer dynamisk, ettersom det er mulig å legge til eller endre metoder i løpetid . Derfor er ikke typen av et objekt definert så mye av klassen som instansierte det, men av settet med metoder den besitter, eller, i henhold til terminologien som vanligvis brukes for språk i Smalltalk-stil, av meldingene den kan svare på.

I Ruby er duck-typing derfor grunnleggende (fra engelsk hvis det ser ut som en and, og kvaksalver som en and, må det være en and : "be a duck"), det er prinsippet for hvordan oppførselen til en funksjon følger på sine argumenter må ikke bestemmes av typen av disse (som skjer i C++ og andre statisk skrevet språk ), men av hvilke meldinger de er i stand til å administrere.

Et annet grunnleggende kjennetegn ved Ruby utgjøres av de såkalte blokkene , som i hovedsak er lukkinger (dvs. funksjoner med et miljø), som lar deg erstatte de eksplisitte løkkene, ofte på lavnivåspråk, med bruk av iteratorer , som skjuler alle de interne mekanismene i den aktuelle syklusen.

Eksempler

Hei verden

Følgende eksempel skriver teksten " Hello world " til utgangsterminalen.

setter "Hello World"

Klasser og metoder

Her er et program semantisk identisk med det forrige, men som bruker Ruby-objektparadigmet.

klasse Greeter attr_reader : mottaker def initialize ( mottaker ) @recipient = mottaker slutt def greet setter "Hei # { mottaker } " slutt slutt greeter = Greeter . ny ( "verden" ) hilsen . hilse på

Andeskriving

Funksjonen som er definert nedenfor, fungerer forskjellig avhengig av meldingene som argumentet svarer på.

def text_of ( widget ) if widget . svare til? : bildetekst widget . bildetekst elsif widget . svare til? : tekst widget . tekst else heve "ingen tekst knyttet til widget # { widget } " slutt

Blokker og iteratorer

Sløyfer i Ruby utføres vanligvis ved å bruke iteratorer, som sendes en blokk, i form av kode mellom nøkkelordene do og end , som vist i følgende eksempel,

5 . ganger setter " Hello world" slutt

hvor ganger metoden til objektet "nummer 5" sørger for å utføre riktig antall ganger (5, for å være presis) den angitte koden.

Når du definerer en iterator, brukes nøkkelordet yield .

klasse Heltall def times_header_and_footer setter "- BEGIN -" ganger do yield end setter "- END -" end end 5 . times_header_and_footer gjør slutt på "Hello world" .

Legg merke til hvordan Integer-klassen (en standardklasse) har blitt gjenåpnet for å legge til en metode. Utgangen av skriptet er

- BEGYNNE - Hei Verden Hei Verden Hei Verden Hei Verden Hei Verden - SLUTT -

Kommentarer

Enkeltlinje- eller flerlinjekommentarer

# Dette er en kommentar = begynne Dette er en flerlinjekommentar = slutt

Merk at i kommentarer med flere linjer, =beginog =endmå være på begynnelsen av linjen, uten innrykk .

Merknader

  1. ^ ruby-lang.org , https://www.ruby-lang.org/en/about/ .
  2. ^ Om Ruby , på www.ruby-lang.org . Hentet 27. juli 2021 .
  3. ^ indeks | TIOBE - The Software Quality Company , på www.tiobe.com . Hentet 27. juli 2021 .

Relaterte elementer

Andre prosjekter

Eksterne lenker