Ruby (programovací jazyk)

programovací jazyk

Ruby je interpretovaný skriptovací programovací jazyk. Vďaka svojmu jednoduchému syntaxu je pomerne ľahký na naučenie, predsa však dostatočne výkonný, aby dokázal konkurovať známejším jazykom ako je Python a Perl. Je plne objektovo orientovaný – všetko v Ruby je objekt.

História

upraviť

Tvorcom Ruby je jediný človek – Yukihiro Matsumoto, známy taktiež pod prezývkou Matz. Ten ako zástanca objektovo orientovaného programovania hľadal v prvej polovici 90. rokov skriptovací jazyk, ktorý by mu vyhovoval. Ale Perl mu pripadal v tej dobe málo výkonný a Python zase nebol natoľko objektový, ako by chcel. A tak sa rozhodol, že vytvorí vlastný jazyk. Práce na ňom začali v roku 1993, prvá verzia bola uverejnená v roku 1995. Matz svoj jazyk pomenoval podľa rubínu – anglicky Ruby.

Dnes je Ruby asi najširšie používaný v zemi svojho pôvodu – v Japonsku. Rozšíreniu do sveta dlhú dobu bránila absencia kvalitnej dokumentácie v anglickom jazyku. Dnes už je však anglických materiálov celkom dosť. V súčasnej dobe záujem o Ruby prudko rastie vďaka úspechu webového frameworku Ruby on Rails.

Oblasti použitia

upraviť

Rovnako ako iné skriptovacie jazyky, je oblasť použitia Ruby pomerne široká. Asi najčastejšie využitie nájde na platforme Linux (a iných systémoch typu Unix) pri písaní skriptov pre uľahčenie každodennej práce. Vďaka svojej prehľadnej syntaxi a striktnej objektovosti sa hodí i k písaniu veľkých projektov, CGI skriptov, ba dokonca GUI aplikácií (GTK2, TK, Qt, fxRuby atd.). Keďže podporuje regulárne výrazy, je Ruby vhodným jazykom pre spracovanie textových súborov.

Výhody a nevýhody

upraviť

Výhody:

Nevýhody:

  • nižšia rýchlosť oproti kompilovaným jazykom (interpretovaný jazyk je prekladaný až za behu, navyše veľká časť knižníc je napísaná rovnako v Ruby)
  • závislosť na interpretri
  • nedostatok slovenskej dokumentácie
  • menej rozšírený jazyk oproti napríklad Perlu

Ukážka kódu

upraviť

Pre predstavu, ako Ruby vyzerá, ukážme si niekoľko príkladov. Pre začiatok tradičný program hello world:

puts "Ahoj Svet!"

Tento program je často používaný na dôkaz toho ako je kód v Ruby čitateľný:

5.times { puts "ahoj!" }

Tento program päťkrát vypíše "ahoj!". Doslovne by sa dal brať 5-krát (times znamená slovensky krát) vypíš ahoj (puts je skratka z put string – "daj reťazec" (na štandardný výstup)).

Tento príklad je ale stále tak jednoduchý, že nám o štruktúre nič nepovie. Nasledujúci príklad prezradí viac:

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

fib(100)

Tu je definícia metódy fib, ktorá vypíše začiatok Fibonacciho postupnosti. Na poslednom riadku je táto metóda volaná s parametrom 100, čím hovoríme, že chceme vypísať postupnosť všetkých čísel Fibonacciho postupnosti menších než 100. Výstup programu je nasledujúci:

1 1 2 3 5 8 13 21 34 55 89

Keďže je Ruby plne objektový jazyk, ukážme i objekty:

class Dievca
	def initialize(meno, vek)
		@meno = meno
		@vek = vek
	end
	def to_s
		"Meno:\t#{@meno}\nVek:\t#{@vek}"
	end
	attr_reader :meno, :vek
end

moje_dievca = Dievca.new('Eva', 18)
puts moje_dievca.to_s
puts moje_dievca.meno
puts moje_dievca.vek

Po spustení bude na výstupe:

Meno:  Eva
Vek:    18
Eva
18

V Ruby je úplne všetko objekt (i triedy sú objekty typu Class!). Napríklad

1 + 2

je vlastne zavolanie metódy + objektu 1 s argumentom 2:

1.+(2)

Naše dva objekty 1 i 2 sú objekty triedy Fixnum, ktorá v Ruby slúži k uchovávaniu celých čísel. Veľké celé čísla sú objekty triedy Bignum, ktorých teoretická hranica je veľkosť operačnej pamäte.

Externé odkazy

upraviť