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