Ruby har verken prosedyrer eller funksjoner; kun metoder som kalles på objekter.
1| # Husker du denne? 2| def si_hei 3| puts "Hei verden!" 4| end 5| 6| # Hva er vel en funksjon uten argumenter? 7| def si_hei_til( hva ) 8| puts "Hei #{hva}" 9| end 10| 11| si_hei_til("Trondheim!") #=> "Hei Trondheim!" 12| 13| # Funksjoner kan ta flere argumenter og de kan ha default verdier 14| def send_julegave( til, fra="nissen" ) 15| puts "God jul, #{til}. Hilsen #{fra}." 16| end 17| 18| send_julegave("Junior" ) #=> "God jul, Junior. Hilsen nissen." 19| send_julegave("Ola", "far") #=> "God jul, Ola. Hilsen far." |
Du syntes kanskje det så lite objekt-orientert ut? Ikke var metodene definert i noen klasse, og ikke kalte vi dem på noe objekt heller. Det tror du. Alle metoder som defineres på toppnivå defineres i Object-klassen, og vi har implisitt en toppnivå Object-instans. (Prøv self.type
og se selv.)