Ruby/Ruby tiivistettynä
OhjelmatMuokkaa
- IRB, Interactive Ruby
- Kätevä ohjelma Rubyn harjoitteluun ja testaukseen. Konsoliin voidaan kirjoittaa Ruby-komentoja jotka suoritetaan lennossa. Java-maailmassa vastine on beanshell. IRB käynnistyy seuraavalla komennolla:
$ irb
- Esimerkki IRB:n käytöstä:
irb(main):005:0> "Ruby".upcase.reverse => "YBUR"
- Ruby
- Suoritetaan rb-päätteiset tiedostot seuraavalla komennolla:
$ ruby esimerkki.rb
- Rubygems
- Ruby-kirjastojen hallinta. Voit esimerkiksi asentaa Rails-ohjelmistokehyksen kirjoittamalla:
$ sudo gem install rails
- Rake
- Rubyn vastine Make-komennolle. Sillä voidaan esimerkiksi luoda .gem-paketteja tai suorittaa tehtäviä, kuten tyhjentää Rails-sovelluksen logitiedostot:
$ rake log:clear
- Profiler
- Ei varsinainen ohjelma vaan kirjasto, joka näyttää ohjelman kaikkien funktioiden ja metodeiden suoritusajat. Kätevä etsittäessä ohjelmaa hidastavia tekijöitä. Voit käyttää profileria joko lisäämällä seuraavan rivin rb-tiedoston alkuun:
require 'profile'
- Tai voit suorittaa ohjelmasi seuraavalla komennolla:
$ ruby -r profile tiedostonimi.rb
NumerotMuokkaa
Rubyssä numeroita on vain kahta laatua: Integer ja Float. Rubyssä numerotkin ovat luokkia, joten ne sisältävät myös metodeja. Tässä on lueteltu numeroiden sisältämät metodit:
- to_i -> muuttaa liukuluvun kokonaisluvuksi
- to_f -> muuttaa kokonaisluvun liukuluvuksi
Rubyssä on seuraavanlaisia vaihtoehtoisia tapoja merkitä numeroita:
- ALAVIIVA: 10_000_000 == 10000000
- POTENSSI: esim. 3e2 == 300, 3e-2 == 0,03
OperaattoritMuokkaa
Normaalisti toimivat:
- laskuoperaattorit(+-/*%)
- sijoitusoperaattorit(=,+=,-=,*=,/=,%=)
- vertailuoperaattorit(&&,||,==,!=,!,>,<,>=,<=).
Lisäksi on:
- potenssi(**)
- and, or ja not
MerkkijonotMuokkaa
Rubyn merkkijonot ovat String-olioita. Merkkijonot esitetään ""- tai ' '-merkkien välissä. Alla on esimerkki merkkijonojen metodien käytöstä:
>> "Hello world!".swapcase "hELLO WORLD!"
Metodit:
- capitalize -> muuttaa ensimmäisen kirjan isoksi
- upcase -> muuttaa kaikki kirjaimet isoiksi
- downcase -> muuttaa kaikki kirjaimet pieniksi
- swapcase -> vaihtaa pienet isoiksi ja isot pieniksi
- reverse -> kääntää lauseen toisinpäin
- length -> palauttaa lauseen pituuden
- chop -> ???
- to_i -> muuttaa merkkijonon kokonaisluvuksi
- to_f -> muuttaa merkkijonon liukuluvuksi
Rubyssä voit lisäksi kertoa ja yhteenlaskea merkkijonoja. Esimerkiksi:
>> "Hello "+"world"+"!" "Hello world!"
>> "Hello "*3 "Hello Hello Hello"
MuuttujatMuokkaa
TaulukotMuokkaa
Hash-taulukotMuokkaa
EhtolauseetMuokkaa
ifMuokkaa
if-lause poikkeaa C++ sillä se ei ole varsinainen lause vaan expression. Ehtolause palauttaa arvona viimeisen sijoituksen. Kaikki seuraavat lauseet ovat sallittuja:
if x < 10 then x++
x++ if x < 10
if x < 10 x++ else x-- end x < 10 ? x++ : x--
if x < 10 x++ elsif x > 10 x-- else puts x end
unlessMuokkaa
Negatiivinen if-lause, eli "ellei"-lause.
x++ unless x >= 10
SilmukatMuokkaa
forMuokkaa
Klassinen for-silmukkaa käytetään rubyssä vain lähinnä taulukoiden alkioiden selaamiseen:
for words in x x=nil end
timesMuokkaa
Numerot sisältävät times-metodin, joka mahdollistaa seuraavan:
5.times do puts "hello " end
eachMuokkaa
Each:ia voi käyttää for:in tapaan:
words.each { |x| x=nil }
Tässä toinen versio:
words.each do |x| x=nil end