Ero sivun ”Ruby” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa
Merkkaukset: Visuaalinen muokkaus Mobiilimuokkaus  mobiilisivustosta   Edistynyt mobiilimuokkaus 
Xqbot (keskustelu | muokkaukset)
p Botti: Korvaa vanhentunut <source>-tagi ja "enclose"-parametri
Merkkaus: wd-käytössä
Rivi 48:
 
Kielen kaikki elementit ovat objekteja, myös funktiot ja numerot. Esimerkki:
<sourcesyntaxhighlight lang="ruby">
1.class # => Fixnum: numero 1 on olioluokan Fixnum instanssi
7.times do
Rivi 54:
end
# tulostaa seitsemän +-merkkiä.
</syntaxhighlight>
</source>
 
Lohkot ovat Rubyssa tärkeä käsite. Niiden avulla toteutetaan muun muassa iteraatio, ja ne ovat hyvin käteviä luotaessa takaisinkutsumetodeja. Lohko voidaan määritellä joko symbolien { } avulla tai do ... end -rakenteella:
<sourcesyntaxhighlight lang="ruby">
[ 3, 1, 7, 0 ].sort.reverse.each do |i|
print i*i
end
# tulostaa "49910"
</syntaxhighlight>
</source>
Yllä olevassa lista ensin järjestetään ja käännetään ja lopuksi arvot sijoitetaan yksi kerrallaan i:hin ja suoritetaan print i*i.
 
Jokainen Rubyn metodi käsittää implisiittisenä parametrina lohkon, jota käyttäjä voi kutsua metodin sisällä yield-lauseen avulla. Esimerkiksi seuraava lohko suoritetaan kolme kertaa:
<sourcesyntaxhighlight lang="ruby">
def kolme_kertaa
yield
Rivi 75:
print "Heippa"
end
</syntaxhighlight>
</source>
 
Monet asiat Rubyssa näyttävät tavanomaiselta ohjelmointikieleltä, mutta todellinen implementaatio vaatii niiden muuttamista oliomallin mukaiseksi sisäisesti (usein ohjelmointikielissä tätä kutsutaan syntaktiseksi sokeroinniksi). Esimerkiksi "1+1" on vain merkintä olion "1" metodikutsulle "+" argumenttina toinen olio "1". Sama pätee Rubyssa moneen asiaan, mikä voi jättää aloittelijalle hieman sekavan kuvan kielestä.
Noudettu kohteesta ”https://fi.wikipedia.org/wiki/Ruby