Nowości i zmiany w Ruby 1.9 #5 - bloki, domknięcia, nowa lambda
10 komentarzy | Kategorie: Ruby, Techblog | trackbackTagi: 1.9 lambda proc ruby ruby1.9
Wpis ten jest jedną z części cyklu pt "Nowości i zmiany w Ruby 1.9". Pełną listę wpisów znajdziesz pod adresem http://radarek.jogger.pl/2008/11/30/nowosci-i-zmiany-w-ruby-1-9/.
Kontynuując serię wpisów o nowościach w ruby 1.9 tym razem opiszę zmiany dotyczące bloków, domknięć oraz nowej składni lambdy.
Zacznijmy od nowej składni dla lamby, za pomocą operatora ->. Przykład pokazuje tworzenie dwóch identycznych domknięć za pomocą starego sposobu i nowego.
mul2_first = lambda {|x| x * 2 }
mul2_second = ->(x) { x * 2 }
# można także ominąć () ale w ten sposób raczej pogarszamy czytelność
mul2_third = -> x { x * 2 }
Jak widać nowa składnia pozwala na bardziej zwięzłe tworzenie domknięć, chociaż można także popsuć czytelność, np. tak:
foo(:mult => -> x, y = 2 { x * y })
# z nową składnią Hashy i nawiasami dużo lepiej
foo(mult: ->(x, y = 2) { x * y })
Zatem po raz kolejny trzeba podkreślić, że to od Ciebie zależy jak bardzo czytelny będzie kod.