Ruby/Powrót do prostych przykładów: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje)
Szymon wro (dyskusja | edycje)
mNie podano opisu zmian
Linia 1:
== Powrót do prostych przykładów ==
 
Rozbierzmy na części kod kilku poprzednich przykładowych programów.
Linia 18:
Ponieważ jest to pierwsze objaśnienie, zbadamy każdą linię osobno.
 
=== Silnie ===
 
<pre>def fact(n)</pre>
Linia 56:
Co się stanie jeśli podamy naszemu programowi liczbę ujemną? Widzisz problem? Umiesz go rozwiązać?
 
=== Łańcuchy znakowe ===
 
Teraz zbadamy nasz program - łamigłówkę z rozdziału o [[Ruby/Łańcuchy znakowe|łańcuchach znakowych]]. Ponieważ jest on nieco długi, ponumerujmy linie by móc się łatwo do nich odwoływać.
Linia 142:
</pre>
 
W linii 6 w warunku dla pętli <tt>while</tt> zakodowana jest "na sztywno" wartość <tt>true</tt>, co w efekcie daje nam nieskończoną pętlę. Aby więc przerwać wykonywanie pętli umieściliśmy instrukcje <tt>break</tt> w liniach 8 i 10. Te dwie instrukcje są również przykładem "modyfikatorów <tt>if</tt>". ''Modyfikator if'' wykonuje wyrażenie po swojej lewej stronie wtedy i tylko wtedy, gdy określony warunek jest prawdziwy. Konstrukcja ta jest niezwykła, gdyż działa logicznie od prawej do lewej strony, ale jest dostępna, ponieważ wielu ludziom przypomina ona podobne wzorce obecne w mowie potocznej. Dodatkowo jest ona zwięzła - nie potrzebuje wyrażenia <tt>end</tt> by wskazać interpretatorowiinterpreterowi ile kodu następującego po <tt>if</tt> ma być traktowane jako warunek. ''Modyfikator if'' jest wygodnym sposobem używanym w sytuacjach, gdzie wyrażenie i warunek są wystarczająco krótkie by zmieścić się razem w jednej linii skryptu.
 
Rozważ zmiany w interfejsie użytkownika w stosunku do poprzedniego skryptu-łamigłówki. Bieżący interfejs pozwala użytkownikowi zakończyć program poprzez wciśnięcie klawisza Enter (Return) przy pustej linii. Sprawdzamy czy każda linia z wejścia jest pustym łańcuchem, a nie czy nie istnieje.