blackened.wz.cz
Úvod
O mně
Grafika
  - Kresba
  - Bitmapy
Texty
  - Poezie
Programování
  - Ruby
  - Perl
  - BrainF*ck
Ostatní
  - IRC
Ke stažení
Odkazy
./programování/ruby

obsah:

1. Ruby? Co to je?
2. K čemu je to dobré?
3. Jak to vypadá?
4. Trocha historie
5. Ruby tutoriál
6. Odkazy


Ruby? Co to je?

Přes všechny své kvality není Ruby v našich končinách až tak známá a je tedy dost možné, že jste o ní dosud neslyšeli, nebo slyšeli jen málo. Co je tedy Ruby?

Ruby je interpretovaný skriptovací jazyk. Díky své jednoduché syntaxi je poměrně snadný k naučení, přesto však dostatečně výkonný, aby dokázal konkurovat svým známějším bratříčkům Pythonu a Perlu. Na rozdíl od nich je však plně objektově orientovaný (doslova vše v Ruby je objekt).

K čemu je to dobré?

Stejně jako jiné skriptovací jazyky, jakými jsou Perl nebo Python, je oblast použití Ruby poměrně široká. Asi nejčastější využití najde při psaní skriptů pro usnadnění každodenní práce. Díky své čisté a přehledné syntaxi a naprosté objektovosti se však hodí i k psaní velkých projektů, programování serverů, ba dokonce GUI aplikací.

Jak to vypadá?

Jelikož vás určitě zajímá, jak vypadá Ruby "v akci", pojďme si ukázat pár zdrojových kódů. Začněme už tradičním programem "Hello world":

puts "Ahoj svete!"

Uznávám, že tento příklad je tak jednoduchý, že nám toho o struktuře nic moc nepoví. Přejděme tedy ke složitějšímu příkladu:

def fib(n)
  a, b = 0, 1
  while b < n
    print b, " "
    a, b = b, a+b
  end
end

fib(100)

Zde jsme si definovali metodu fib, jež nám vypíše Fibonacciho posloupnost. Na konci pak tuto metodu zavoláme s parametrem 100, čímž říkáme, že chceme vypsat řadu všech čísel menších než 100. Kdybychom program spustili, získali bychom následující výstup:

1 1 2 3 5 8 13 21 34 55 89

Jelikož je ale Ruby plně objektový jazyk, pojďme si do třetice ukázat také nějaké objekty:

class Divka
  def initialize(jmeno, vek)
    @jmeno = jmeno
    @vek = vek
  end
  def to_s
    "Jmeno:\t#{@jmeno}\nVek:\t#{@vek}"
  end
  attr_reader :jmeno, :vek
end

mojeDevce = Divka.new('Tereza', 18)
puts mojeDevce.to_s
puts mojeDevce.jmeno
puts mojeDevce.vek

Spustíme-li, program, na výstupu dostaneme:

Jmeno:  Tereza
Vek:    18
Tereza
18

Trocha historie

Stvořitelem Ruby je jediný člověk - Yukihiro Matsumoto, známý také pod přezdívkou 'Matz'. Ten jako zastánce objektově orientovaného programování hledal v první polovině 90. let skriptovací jazyk, který by mu v tomto vyhovoval. Avšak Perl mu připadal v té době málo výkonný a Python zase nebyl až tak objektový, jak by chtěl. A tak se rozhodl, že vytvoří vlastní jazyk. Práce na něm započaly někdy v roce 1993, první verze byla uveřejněna v roce 1995. Matz svůj jazyk pojmenoval po rubínu - Ruby.

Dnes je Ruby asi nejšířeji používaná v zemi svého původu - v Japonsku. Výraznému rozšíření do světa dlouhou dobu bránila absence kvalitní dokumentace v anglickém jazyce. Dnes už je naštěstí anglických materiálů poměrně dost a tak nám nic nebrání pustit se do objevování jejích tajemství.

Ruby tutoriál

Vzhledem k nedostatku české dokumentace jsem se rozhodl sepsat vlastní tutoriál. V současné době je k dispozici ve dvou formátech - RTF a PDF. Na online verzi se pracuje.

Odkazy

Články a dokumentace online: