Základní syntaxe jazyka Ruby
Následující výtah popíše základní syntaxi jazyka Ruby.
# - komentář
- nepíší se středníky na koncích řádků a nepoužívají se složené
závorky složené závorky
Proměnné se v Ruby deklarují samy, stačí do nich přiřadit hodnotu
V ruby je téměř vše objekt a objekty mají metody (text.upcase je metoda textu a vrátí původní text velkými písmeny). Metody s vykřičníkem pracují na jednom objektu (tzv. vykřičníková varianta), tedy
text = text.upcase je to samé jako text.upcase!
Ale teď od začátku
Vstup a výstup
gets = vstup z klávesnice (většinou se volá s metodou strip, viz níže v řetězcích)
puts = výpis textu
Výpis proměnné v textu: #{prom}
Přiřazování hodnot
Klasické:
a = b = 0
Paralelní přiřazování:
a,b = 1,2
Takto lze snadno prohodit proměnné: a,b = b,a
Exponent: a**3 nebo a.power(3)
Nepoužívejte zápis: a^3, ten má v Ruby význam jako bitový XORRuby nezná výraz ++! (např. i++)
- operátory jsou ve skutečnosti metody integerů (lze zapsat i jako a.+ b)
Větvení (podmínky)
Klasické operátory jako v jazyce C: <, >, >=, <=, == (porovnání), != (nerovnost)
Porovnat lze i řetězce podle abecedy ("auto" < "letadlo")
Příkaz if
if (podminka)
prikaz
prikaz
end
Lze používat také příkaz elsif
if lze nahradit unless což provede příkaz jen tehdy, když podmínka neplatí (je totožné s if not podminka)
Podmínka lze psát i za příkaz:
puts "mensi" if (3 < 5)
Výhoda je, že nemusíme if endovat. JINAK IF MÁ VŽDY END!
Další možný zápis podmínky:
(podm)?příkaz_při_splnění:příkaz_při_nesplnění;
Příkaz case:
case name
when "David"
prikaz
when ...
end
Logické operátory: and a or nebo také sada && a ||
Důležité: && má vyšší prioritu, což je nezvyklé, takže závorkovat!
Negace
not(5 < 3) nebo !(5 < 3)
Cykly (iterace)
3.times do puts 'Tento text se vypíše 3x' end # ------ 3.times do |i| puts "#{i}% - toto je číslo od 0 do 2" end # ---- když nechci od 0, ale od něco do něco, použiji: 5.upto (10) nebo downto while (podm) do end
Řetězce
platí klasické sčítání znaménkem + ("pes" + "kocka" = "peskocka")
řetězec je jako je zvykem pole znaků, jeho prvky jsou jednotlivé znaky
číslované od 0 ("kocka"[0] = "k")
(pro staré ruby - na čísle musím volat chr text[4].chr, jinak vrací ASCII
kód!) Pro novější Ruby použití chr navíc nevadí.
strip = odstraní z řetězce bílé znaky (mezera, enter atd.)
Konverze typů: to_i (to_i na desetinném čísle usekne desetinnou
část)
to_f to_s
další metody řetězce: length, reverse, upcase, swapcase... (lze kombinovat (test.reverse.upcase))
Náhodná čísla
Rand - vrací 0-1
Rand(100) vrací 0-99
Užitečné knihovny
Datum a čas
Time.now - vrátí současný čas
sleep 1 (spí jednu sekundu)
Metoda strftime("%d. %m. %Y %H %M")
%y = dvoupísmenný rok
Time.local (1989, 01, 12, 04, 15, 0)
Time.parse ("8.8.2010 12:35:29")
Potřebuje knihovnu time, na začátku programu voláme: require "time"
Třída math
Obsahuje matematické funkce a konstanty.
Ovládání NetBeans IDE:
Alt + shift + f - automatické formátování zdrojového kódu
Kliknutím na kořen na kořen v liště projektů nalevo a spuštěním -> Ruby shell - konzole na testování příkazů na 1 řádek.