IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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ý XOR

Ruby 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_nes­plně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í.

podřetězec: text[0,3] vrátí "aho" z "ahoj"

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.


 

Všechny články v sekci
Ruby
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
7 hlasů
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity