Strona domowa GDR!a Tor Hidden Service

V 3.8



Ruby

(03. 10. 2006)

Wczoraj przy pomocy (dostępnej legalnie za darmo) książki Programming Ruby próbowałem poznać podstawy tego języka. Chociaż niespójność i nieklarowność składni nadal mnie drażnią, całkiem ciekawa wydaje się koncepcja code blocks. Jest to twór któremu najbliżej chyba do funkcji lambda (anonimowych), ale który jednak nieco się różni. Można to uznać za funkcję lambda która nie jest uruchamiana przez wywołanie lecz przez przekazanie sterowania, i która nie ma notacji jak funkcja. Przekazując code block do funkcji, można go wywołać instrukcją

yield
Można też przekazać takiemu blokowi parametr. Można to oczywiście wykorzystywać do różnych celów, ale najciekawsze są konstrukcje zastępujące klasyczne for.

Najlepiej chyba ilustruje to przykład z książki. Co do notacji, blok jest ograniczony przez {}, pomiędzy nawiasami zawiera się kod do wykonania oraz opcjonalnie lista parametrów ograniczona przez | |.

5.times {  print "*" }
3.upto(6) {|i| print i }
('a'..'e').each {|char| print char }
daje wydruk: *****3456abcde.

Prawda że ciekawa i zwięzła notacja? Wszystko dzięki code blocks oraz pełnej obiektowości (czyli liczby też są obiektami i mają swoje metody). Chyba czas zagłębić się w lekturze dalszej części książki. Swoją drogą, napisana jest przez autorów Pragmatic Programmer, bardzo fajnego tomu o inżynierii oprogramowania.

(komentarzy: 2, ostatni: 22. 06. 2007 - 10:56:23 - hgngmztepd) Skomentuj
Wyswietlen: 2825, komentarzy: 2 Feed z komentarzami


Imię: arwcsgptlk (16. 03. 2007 - 21:21:58)

Treść:
Hi! Very nice site! Thanks you very much! jiainbsecxsjyb



Imię: hgngmztepd (22. 06. 2007 - 10:56:16)

Treść:
Hello! Good Site! Thanks you! ixyibdtcgensw

Sblam! Antyspam
URL encoded in QR Code Statystyki:

Email
Comments