Perlo rikiavimo pavyzdžiai gali atrodyti sudėtingi, nes Perlo sintaksėje daug visokių @$%{},
o ir patys objektai iš tikrųjų tėra tik asociatyvieji masyvai, magišku būdu žinantys kokiam paketui jie
priklauso. Tad štai rikiavimo Ruby kalba pavyzdžiai.
Paprastas rikiavimas.
a = [0,3,5,3,1,2,4,6,2,4,5,7,3] a.sort! a.each{|i| print i, ' '}
(Galima tiek Perle, tiek Ruby rašyti tiesiog print a
, bet tai išves masyvo narius neatskiriant juos tarpais.
Pitonas matyt dumpina visą struktūrą tokiu atveju)
Rikiavimas su funkcija:
a = [0,3,5,3,1,2,4,6,2,4,5,7,3] a.sort! { |x, y| x - y } a.each{|i| print i, ' '}
Hešų masyvo rikiavimas:
a = [{'item' => 6, 'zodis' => 'ka'}, {'item' => 2, 'zodis' => 'kva'}, {'item' => 5, 'zodis' => 'kre'}] a.sort! { |x, y| x['item'] <=> y['item'] } a.each{|i| print "item: #{i['item']}, zodis: #{i['zodis']}\n" }
Objektų rikiavimas:
class Objektas def initialize(skaicius) @skaicius = skaicius end def kasastoks() print "Esu objektukas nr. #{@skaicius}\n" end def skaicius() @skaicius end end a = [Objektas.new(3), Objektas.new(2), Objektas.new(19), Objektas.new(1)] a.sort! { |x, y| x.skaicius <=> y.skaicius } a.each { |i| i.kasastoks }
Verta pažymėti, jog Ruby laikosi visų objektinio programavimo principų, ir visi klasės kintamieji
yra privatūs (t.y. skirtingai nuo Python, juos galima pasiekti tik iš pačios klasės aprašymo)
ruby tai ziuriu ner sudetinga kalba naujokui, reiks gal mokintis.
kai moakais tai nesunku:)
Moksliuk, labai tau ačiū už tokius postus! Tik dar labai idomu būtų sužinot kiek kuria kalba atitinkantis veiksmai užima laiko, kiek naudoja resursų… tiesiog palyginimui.
o ar galima kaipnors su Perlu programint ant win? ar geriau net nepradeti ieskokti budu ir iskart kaltis linux?
Liuksas:
Labai viskas gražiai ant Windows su Perlu. http://activestate.com arba ftp://lietuvoje.lt/pub/programavimas/perl/activeperl-5.8.0.805-mswin32-x86.msi
seip tavo svetaines kodo ant savo win98se negaliu paziureti, nzn kas kaltas bet negaliu :\