Ruby/Struktury sterujące: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje)
Nie podano opisu zmian
Linia 42:
Ruby dostarcza wygodnych sposobów do tworzenia pętli, chociaż jak odkryjesz w następnym rozdziale, wiedza o tym jak używać iteratorów często zaoszczędzi ci bezpośredniego pisania własnych pętli.
 
<tt>while</tt> jest powtarzanym <tt>if</tt>. Używaliśmy tej instrukcji w nasze słownej zgadywance i w programach sprawdzających wyrażenia regularne (zobacz [[Ruby/Powrót do prostych przykładów|poprzedni rozdział]]). Tutaj instrukcja ta przyjmuje formę <tt>while warunek ... end</tt> otaczającą blok kodu którektóry będzie powtarzany dopóty, dopóki warunek jest prawdziwy. Ale <tt>while</tt> i <tt>if</tt> mogą być łatwo zaaplikowane również do pojedynczych wyrażeń:
 
<pre>
Linia 59:
</pre>
 
Czasami chceszbędziesz chciał zanegować sprawdzany warunek. <tt>unless</tt> jest zanegowanym <tt>if</tt>, anatomiast <tt>until</tt> zanegowanym <tt>while</tt>. Poeksperymentuj jakJeśli chcesz, poeksperymentuj z tymi dwoma instrukcjami.
 
Są cztery sposoby do przerwaniaprzerywania postępuwykonywania pętli z jej wnętrza. Pierwszy, <tt>break</tt> oznacza, tak jak w C, zupełną ucieczkę z pętli. Drugi, <tt>next</tt>, przeskakuje na początek kolejnej iteracji pętli (podobnie jak znane z C <tt>continue</tt>). Trzeci, to specyficzne dla Rubiego <tt>redo</tt>, które oznacza ponowne wykonanie bieżącej iteracji. Następujący kod w języku C ilustruje znaczenia instrukcji <tt>break</tt>, <tt>next</tt>, i <tt>redo</tt>:
 
<pre>
Linia 77:
</pre>
 
Czwarty sposób by wyjść z pętli będąc w jej wnętrzu to <tt>return</tt>. Obliczenie instrukcji <tt>return</tt> powoduje wyjście nie tylko z pętli ale również z metody która tę pętlepętlę zawiera. Jeżeli podany został argument, będzie on zwrócony jako rezultat wywołania metody. W przeciwnym wypadku zwracane jest <tt>nil</tt>.
 
=== for ===