Základní syntaxe jazyka Ruby

Ostatní jazyky Ruby 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.


 

  Aktivity (1)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Jak se ti líbí článek?
Celkem (3 hlasů) :
4.333334.333334.333334.33333 4.33333


 


Miniatura
Všechny články v sekci
Ruby
Miniatura
Následující článek
Ruby v Linuxu - GTK

 

 

Komentáře

Avatar
David
Redaktor
Avatar
David:

ruby je multiplatformní?

Odpovědět 18.3.2013 18:55
Nic néni nemožné!
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovědět 18.3.2013 18:57
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
lincerix
Člen
Avatar
lincerix:
3.times do |i|
   puts "#{i}% - toto je číslo od 0 do 2"
end

Co nám tedy ale ve výše uvedeném kódu říká "|i|"... Jak to v tom ponďatém Ruby funguje? :O

Odpovědět  -1 28.12.2014 17:09
Jsem otřesný programátor - začátečník... Ale nikdy mě nic nebavilo tak moc, jako čučet do Javovského kódu.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.