Ruby

Mureakuha

Loikkaa: valikkoon, hakuun

Ruby on tulkattava ohjelmointikieli, jonka on kehittänyt japanilainen Yukihiro Matsumoto 1995. Se on uusin niin sanottu skriptikieli (kuten Perl ja Python), jolla on helppo tehdä nopeita sovelluksia erityisesti järjestelmänhallinnan tarpeisiin. Ruby on kuitenkin täysi ohjelmointikieli, jolla voi tehdä myös täysiä sovelluksia. Muita ohjelmointikieliä, josta Ruby on saanut vaikutteita ovat Clu, Eiffel, Java, Ada ja Objective C.

Ruby on puhdas oliopohjainen ohjelmointikieli. Kaikki toiminta on objekteja. Jopa numerot ovat olioita, esim.

7.times do
  print "+"
end

Tulostaa seitsemän "+"-merkkiä.

Tärkeä konsepti Rubyssä on iteraatio. Iteraattoria käytetään do ... end -rakenteen avulla ("lohko"):

[ 3, 1, 7, 0 ].sort.reverse.each do |i|
  print i*i
end

missä lista ensin järjestetään, käännetään ja lopuksi arvot yksi kerrallaan nimitetään i:ksi ja suoritetaan print i*i. Tuloksena on siis "49910". Käyttäjä voi itse määritellä vapaasti iteraattoreita metodissa olevan yield-lauseen avulla. Esimerkiksi seuraava lohko suoritetaan kolme kertaa:

def kolmeKertaa
  yield
  yield
  yield
end
kolmeKertaa do
  print "Heippa"
end

Monet asiat Rubyssä näyttävät tavanomaiselta ohjelmointikieleltä, mutta todellinen implementaatio vaatii niiden muutamista oliomallin mukaiseksi sisäisesti (joissain ohjelmointikielissä tätä kutsutaan syntaktiseksi sokeroinniksi). Esimerkiksi "1+1" on vain merkintä olion "1" metodikutsulle "+" argumenttina toinen olio "1". Sama pätee Rubyssä moneen asiaan ja se voi jättää aloittelijalle hieman sekavan kuvan kielestä.

Ruby on monessa suhteessa mielenkiintoinen kieli, mutta sitä ei pidetä vielä aivan yhtä valmiina ja helppona oppia kuin Pythonia, jonka kanssa se lähinnä kilpailee.

Katso myös

Linkit


Tämä artikkeli on alun perin kopioitu Wikipediasta. Sen sisältö julkaistaan GDFL-lisenssin alaisena:
Tämän dokumentin kopiointi, levittäminen sekä muokkaaminen on sallittua GNU Free Documentation Licensen version 1.2 tai uudemman Free Software Foundationin julkaiseman version mukaisesti, ilman muuttumattomuuslauseketta tai kansitekstejä. Tätä koskee vastuuvapaus.
Kopio lisenssistä (englanniksi) löytyy täältä.
Henkilökohtaiset työkalut