Ruby/Ruby tiivistettynä
Ohjelmat[muokkaa | muokkaa wikitekstiä]
- 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
Numerot[muokkaa | muokkaa wikitekstiä]
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
Operaattorit[muokkaa | muokkaa wikitekstiä]
Normaalisti toimivat:
- laskuoperaattorit(+-/*%)
- sijoitusoperaattorit(=,+=,-=,*=,/=,%=)
- vertailuoperaattorit(&&,||,==,!=,!,>,<,>=,<=).
Lisäksi on:
- potenssi(**)
- and, or ja not
Merkkijonot[muokkaa | muokkaa wikitekstiä]
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"
Muuttujat[muokkaa | muokkaa wikitekstiä]
Taulukot[muokkaa | muokkaa wikitekstiä]
Hash-taulukot[muokkaa | muokkaa wikitekstiä]
Ehtolauseet[muokkaa | muokkaa wikitekstiä]
if[muokkaa | muokkaa wikitekstiä]
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
unless[muokkaa | muokkaa wikitekstiä]
Negatiivinen if-lause, eli "ellei"-lause.
x++ unless x >= 10
Silmukat[muokkaa | muokkaa wikitekstiä]
for[muokkaa | muokkaa wikitekstiä]
Klassinen for-silmukkaa käytetään rubyssä vain lähinnä taulukoiden alkioiden selaamiseen:
for words in x x=nil end
times[muokkaa | muokkaa wikitekstiä]
Numerot sisältävät times-metodin, joka mahdollistaa seuraavan:
5.times do puts "hello " end
each[muokkaa | muokkaa wikitekstiä]
Each:ia voi käyttää for:in tapaan:
words.each { |x| x=nil }
Tässä toinen versio:
words.each do |x| x=nil end