Ruby/Struktury sterujące: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
mNie podano opisu zmian |
Szymon wro (dyskusja | edycje) Nie podano opisu zmian |
||
Linia 1:
== Struktury sterujące ==
Ten rozdział odkrywa nieco więcej na temat struktur sterujących w Rubim.
=== case ===
Instrukcji ''case'' używamy do sprawdzenia sekwencji warunków. Na pierwszy rzut oka jest ona podobna do instrukcji ''switch'' z języka C lub Java ale znacznie bardziej potężna, jak za chwilę zobaczymy.
<pre>
Linia 14 ⟶ 17:
6..10
nil
</pre>
''2..5'' jest wyrażeniem oznaczającym przedział zamknięty od 2 do 5. Następujące wyrażenie sprawdza czy wartość ''i'' należy do tego przedziału:
<pre>
Linia 22 ⟶ 25:
</pre>
''case'' wewnętrznie używa operatora relacji ''==='' by sprawdzić kilkanaście warunków za jednym razem. W odniesieniu do obiektowej natury Rubiego, ''==='' jest interpretowany odpowiednio dla obiektu który pojawia się jako warunek w instrukcji ''when''. Na przykład, następujący kod sprawdza równość łańcuchów znakowych w pierwszym wyrażeniu ''when'' oraz zgodność wyrażeń regularnych w drugim ''when''.
<pre>
Linia 31 ⟶ 34:
| puts "includes /def/"
| end
includes /def/
nil
</pre>
=== while ===
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.
''while'' jest powtarzanym ''if''. 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ę ''while'' warunek ... ''end'' otaczającą blok kodu które będzie powtarzany dopóki warunek jest prawdziwy. Ale ''while'' i ''if'' mogą być łatwo zaaplikowane do pojedynczych wyrażeń:
<pre>
Linia 51 ⟶ 53:
nil
ruby> puts i+=1 while i<3
1
2
|