Přeskočit na obsah

Ruby

Z Wikiknih

Úvod do programování v jazyce Ruby.

Poznámky autora / autorů

[editovat | editovat zdroj]

Tento materiál je pracovním nejen ve smyslu Wiki, ale nachází se ve stádiu úvah a plánování. Pokud budete mít jakékoliv nápady, připomínky a náměty, obraťte se na mne, nebo je sem zkuste napsat.

ToDo:

  • Dokončit kostru alespoň v hrubých obrysech.
  • Každá část, jenž zatím nemá obsah, bude obsahovat popis co v ní má být.
  • Naplnit všechny části obsahem

Instalace a konfigurace

[editovat | editovat zdroj]

Zde by mělo být ve zkratce popsáno jak ruby nainstalovat a zkonfigurovat na různých platformách. Anebo bych tuto část úplně vypustil.

Spouštíme ruby

[editovat | editovat zdroj]

Jak psát/spouštět skripty

[editovat | editovat zdroj]

Jak interaktivně používat irb

[editovat | editovat zdroj]

Pokud budeme chtít experimentovat a zkoušet si věci přímo, není třeba je psát do skriptů. Přesně pro tento účel máme k dispozici program irb, což je interaktivní ruby. Ale nejdříve malou ukázku

$ irb
irb(main):001:0> 1 + 2
=> 3
irb(main):002:0> exit
$

Proměnné a typy dat

[editovat | editovat zdroj]

Jazykové konstrukce

[editovat | editovat zdroj]

Větvení programu

[editovat | editovat zdroj]
 a=0
 while a<5
     print a # přidáme hodnotu z a na konec pole b
     a+=1
 end
 print "\n"

výsledek:

01234

další příklad:

 puts "cykus n-krát"
 n=3
 n.times {|x| puts "#{x} + #{x*2}"} 
 # i takhle to funguje:
 2.times {|x| puts "#{x} + #{x*2}"}

výsledek

0 + 0
1 + 2
2 + 4

iterace délkou pole

 puts"cykus n-krat pres pole"
 pole=[2,8,"R"] #tohle funguje taky
 pole.length.times {|i| puts "#{i}+ #{pole[i]}"}

výsledek:

0 + 2
1 + 8
2 + R

neinicializované pole:

 puts "Cyklus n x  Iterce pres pole [0..3] tohle ale nefunguje jak bych si představoval"
 n=[0..3] 
 n.length.times {|x| puts "#{x} + #{n[x]}"}

výsledek:

0 + 0..3

each:

 puts "cyklus přes všechny položky pole=[14.5, 8, \"Reka\"]"
 pole=[14.5, 8, "Reka"]
 pole.each {|polozka| puts "polozka=#{polozka} \t typu  #{polozka.class}"}

výsledek:

polozka=14.5     typu  Float
polozka=8        typu  Fixnum
polozka=Reka     typu  String