Ruby/Domknięcia i obiekty procedurowe: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje)
Szymon wro (dyskusja | edycje)
Linia 70:
=== Obiekty procedurowe ===
 
Bloki można zamienić w łatwy sposób na obiekty (są to obiekty klasy <tt>Proc</tt>). O tym, czym dokładnie są obiekty i klasy dowiesz się dokładnie w [[Ruby/Klasy|rozdziale o klasach]]. Można użyć do w tym celu słów kluczowych <tt>lambda</tt> lub <tt>proc</tt>, z czego '''zalecane''' jest to pierwsze. Poniższy kod utworzy dwa obiekty procedurowe:
 
<source lang="ruby">
Linia 112:
</source>
 
Jak widzimy w ostatniej linii, obiekty lambda mogą być anonimowe (nie nadajemy im żadnej nazwy). WięcejO oobiektach tym,anonimowych copowiemy to są obiekty anonimowe dowiesz sięwięcej w [[Ruby/Klasy|rozdziale o klasach]]. Natomiast w [[Ruby/Zmienne lokalne|rozdziale o zmiennych lokalnych]] zobaczysz, że obiekty procedurowe i domknięcia zachowują kontekst (stan zmiennych lokalnych) w jakim zostały wywołane.
 
=== Różnice między lambdą a <tt>Proc.new</tt> ===