320 likes | 507 Views
Programmeerimiskeel: Ruby. Autor: Maria Polzunova. Üldinfo. Ruby on interpreteeritava tüübi objekt - orienteeritud programmeerimiskeel. Loodud 23 veebruaril 1993 aastal jaapani programmeerija Yukihiro Matsumoto juhtimisel , kes on veel teatud nagu Matz .
E N D
Programmeerimiskeel: Ruby Autor: Maria Polzunova
Üldinfo • Ruby on interpreteeritava tüübi objekt-orienteeritudprogrammeerimiskeel. • Loodud 23 veebruaril 1993 aastal jaapaniprogrammeerijaYukihiro Matsumoto juhtimisel, kes on veel teatud nagu Matz. • Praegu Ruby on kõige populaarsem keel Jaapanis. • Ruby on tasuta programmeerimiskeel
Põhilised võimalused • Lihtne süntaks • Kiire töötluse tsükkel (toimetamine- käivitamine- toimetamine) • Interpriteeritav keel • Kasutamine ja tulemus erinevates OS-s põhimõtteliselt ei erine
Süntaks • Sarnane Perli- ja PHP-ga • Ei kasuta “;” sümbolit realõpu tähistamiseks • Kahe tüübi komentaarid: • “ # ” sümboliga eristatakse üherealised komentaarid • “ =begin komentaar =end “ Niimodi eristatakse blokkkomentaarid
Muutujad(2) • Mitteinitsiaaliseeritud globaalne muutuja väärtus on alati nil Näide: % ruby print $foo,"\n" $foo = 5 print $foo,"\n“ ^D % Tulemuseks tuleb: nil 5
Globaalsed süsteemsed muutujad • $! viimane veateade • $@ vea tekkimise koht • $_ viimane rida, loetud gets kutsumisega • $. viimase rea number, loetudinterpretaatoriga • $& leitud allridaviimases otsingus šablooni järgi . • $~ viimase otsingu tulemus šablooni järgi allavaldiste massiivi kujul • $nN-neallavaldismassiivist - tulemusestviimase otsingu šablooni järgi (sama,mis on $~[n]) • $= regiistri tundlikkuse märk • $0 programmi faili nimi • $* käsurea argumendid • $$interpretaatori protsessi ID • $? viimase tütarprotsessi lõpetamise staatus
Lokaalsed muutujad • Lokaalsete muutujate nimed peavad algadalaadina tähestiku väikeste sümbolitega või sümdoliga '_'. Erinevalt globaalsetest muutujatest, lokaalsed muutujadei võta nil väärtust Näide: % ruby print foo ^D Tulemuseks tuleb "undefined local variable or method 'foo' for #(object...)".
Lokaalsete muutujate nähtavuse piirkond • lambda{…} – λ-funktsioon • loop{…} – lõpmata tsükkel (lisakskõiktsüklidja iteratorite plokid) • def … end – meetod • class … end – klass • module … end – moodul • kogu programm (kui ükski eespool mainitud struktuur ei ole täidetud )
Lihtsad andmetüübid • Read KlassiString eksemplarid. • Massiivid KlassiArray eksemplarid. • Aja hetked KlassiTime eksemplarid.
Lihtsad andmetüübid(2) • Loogiline tüüp (Boolean) KlassideTrueClassjaFalseClass eksemplarid. Sisaldabainulisi esindajaidtruejafalse • «Midagi» KlassiNilClass eksemplarid. Sisaldabainulistesindajatnil. Igamittedeklareeritudmuutujavõrdubnil.
Read (klass String) • Read paigutatakse ülakomade(‘ ’) või jutumärkide(“”) vahele. Näide: puts ‘rida’ # rida puts “rida” # rida Jutumärkide kasutamine võimaldab escape- järjestuse kasutamist, mis algab sümboliga ‘\’ Näide: puts “a \t b” #a b puts ‘a \t b’ #a \t b
Massiivid • Massiivide defineerimiseks kasutatakse nurksulud '[]'. Massiivid Ruby´is on heterogeensed(võivad sisaldada erinevate tüübide andmed) Näide: a = [1,2,"3"] print a,"\n" ^D Tulemuseks tuleb: 123
Massiivid(2) • Massiivide jaoks võib kasutada liitmise ja kordamise operatsioonid Näide: a = [1,2,"3"] print a + ["foo","bar"] print a * 2 ^D Tulemuseks tuleb: 123foobar 123123
Massiivi teisenduse meetodid • + ühe massiivi lisamine teisele • * kordamine • | hulkade ühend • & hulkade lõikumine • - hulkade vahe • compact kõikide nil-objektide kustutamine • flatten ühemõõtmilise massiivi saamine mitmemõõtmelisest • reverse massiivi inverteeririmine • clear kõikide massiivi elementide kustutamine • sort massiivi sorteerimine
Kellaaeg (klass Time) • Time.now käesolev aeg Klassi Time meetodid: • sec saada sekundide arv • min saada minutide arv • hour saada tundide arv • day saada kuupäev • mon saada kuu number • year saada aasta • wday saada nädalapäeva number • yday saada päeva number aastas • zone saada info ajapiirkonnast
Operaator If- else • Näide (faktoriaali leidmine): def fact(n) if n == 0 1 else n * fact(n-1) end end print fact 4,"\n" Tulemuseks: 24
Tsükkel while Näide: i=0 while i < 10 print i+=1,"\n" end 1 2 3 4 . . 10
Case Näide(Siin kontrollitakse kas muutuja i väärtus kuulub antud väärtuste piirkonda) i = 7 case i when 2..5# tähistab väärtuste piirkond kahest viieni esimene # ja viimane arv kaasa arvatud print "i in 2 to 5\n" when 6..10 print "i in 6 to 10\n" end ^D Tulemuseks: i in 6 to 10
Kasutatud materjalid • http://www.rubynews.ru • http://www.ruby-lang.org/