Siirry sisältöön

Ruby/Perusteet

Wikikirjastosta

IRB, eli Interactive Ruby

[muokkaa | muokkaa wikitekstiä]

IRB on kätevä työkalu Rubyn opiskeluun, sekä epävarman koodin testaamiseen myöhemmässä vaiheessa. IRB on hyvä siksi, että se antaa vastauksen välittömästi ilman kääntämistä, toisin kuin esimerkiksi C++. Ruby on dynaaminen kieli eli sitä voi muuttaa ajon aikana toisin kuin C++, joka on staattinen kieli ja joka täytyy aina kääntää ennen ajamista.

Käynnistä IRB seuraavalla komennolla:

$ irb --simple-prompt

Laskuoperaattorit

[muokkaa | muokkaa wikitekstiä]

Kirjoita seuraava laskutoimitus:

>> 10/2-5+2*5

Vastaus on 10. Rubyllä pystyy siis laskemaan jako-(/), kerto-(*), plus-(+), sekä miinuslaskuja(-). Kokeile seuraavaa laskutoimitusta:

>> 5%2

Vastaukseksi tulee 1. Prosenttimerkki(%) tarkoittaa jakojäännösoperaattoria, eli se palauttaa jakolaskun jakojäännöksen. Sillä on hyvä testata esimerkiksi onko muuttujan arvo parillinen vai pariton. Mutta siitä myöhemmin. Seuraavaksi menemme eksponentteihin:

>> 3**2

Vastaus on 9. Eksponenttimerkkinä toimii siis kaksi tähtimerkkiä (**). Seuraavaksi esitetään suurikokoisten lukujen esitystapa:

>> 15e4

Vastaus on 150 000. Vastaavasti pienikokoiset luvut voidaan esittää muodossa:

>> 15e-4

Vastaus on 0,0015. Ruby hyväksyy erittäin suuria lukuja verrattuna muihin ohjelmointikieliin, mutta mikäli luku venyy liian suureksi, antaa Ruby vastaukseksi Infinity. Vielä lopuksi käytännöllinen tapa merkitä isoja lukuja:

>> 10_000_000

Kirjoitapas seuraava laskutoimitus:

>> 5/2

Vastauksen tulisi olla 2,5 mutta se onkin vain 2. Mikä meni pieleen? Koska numerot olivat Integer-tyyppisiä, eli kokonaislukuja, vastauksesta karsittiin desimaalit pois. Huomioi ettei edes pyöristämistä tapahtunut! Laskutoimitus olisi pitänyt kirjoittaa seuraavalla tavalla (kolme vaihtoehtoa):

>> 5.0/2
>> 5/2.0
>> 5.0/2.0

Eli jos laskutoimituksessa on yksikin desimaalinumero(ohjelmoinnissa liukuluku, eli Float-tyyppinen numero) niin silloin vastauskin annetaan liukulukuna. Rubyssä luvut eivät ole perinteisiä lukuja, vaan ne ovat oikeasti luokkia, eli olioita. Mutta luokista lisää myöhemmin

Hash-taulukot

[muokkaa | muokkaa wikitekstiä]
Suomen kielellä ei toistaiseksi ole kattavaa ohjeistusta Rubyn maailmaan. Tämä kirja on paras aiheesta, mitä englanniksi löytää.
Interaktiivinen opas aloittelijoille, joilla ei ole aikaisempaa kokemusta ohjelmoinnista.