Ruby/Ruby tiivistettynä

Wikikirjastosta

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

Luokat[muokkaa | muokkaa wikitekstiä]

Iteraattorit[muokkaa | muokkaa wikitekstiä]