Jak korzystać z pętli w Ruby

kody człowieka na komputerze

Tor Piyapalakorn / EyeEm / Getty Images





Programy komputerowe często muszą wykonywać akcje wiele razy, a nie tylko raz. Na przykład program, który drukuje wszystkie nowe wiadomości e-mail, będzie musiał wydrukować każdą wiadomość e-mail z listy, a nie tylko pojedynczą wiadomość e-mail. W tym celu używane są konstrukcje zwane pętlami. Pętla powtórzy sprawozdania wewnątrz niego kilka razy, aż zostanie spełniony pewien warunek.

Podczas gdy pętle

Pierwszy typ tych pętli to pętla while. Pętle wykonają wszystkie zawarte w nich instrukcje, o ile instrukcja warunkowa pozostanie prawdziwa. W tym przykładzie pętla stale zwiększa wartość zmiennej i o jeden. O ile instrukcja warunkowa i<10 jest prawdziwe, pętla będzie kontynuować wykonywanie instrukcji ja += 1 co dodaje jeden do zmiennej.



#!/usr/bin/env ruby
ja = 0
podczas gdy ja<10
ja += 1
koniec
stawia ja

Do pętli

Dopóki pętle są prawie identyczne z pętlami while, z wyjątkiem tego, że będą zapętlać się tak długo, jak instrukcja warunkowa jest fałszywy . Pętla while będzie pętla, gdy warunek jest spełniony, pętla until zapętli aż do warunek jest prawdziwy. Ten przykład jest funkcjonalnym odpowiednikiem przykładu pętli while, z wyjątkiem użycia pętli until, dopóki ja == 10 . Zmienna jest zwiększana o jeden, aż jej wartość wyniesie dziesięć.

#!/usr/bin/env ruby
ja = 0
dopóki ja == 10
ja += 1
koniec
stawia ja

Zapętla „Ruby Way”

Chociaż bardziej tradycyjne pętle while i until są używane w programach Rubiego, pętle oparte na zamknięciu są bardziej powszechne. Nie trzeba nawet rozumieć, czym są domknięcia ani jak działają, aby używać tych pętli; w rzeczywistości są postrzegane jako normalne pętle, mimo że pod maską są bardzo różne.



Pętla czasu

The czasy pętla może być użyta na dowolnej zmiennej zawierającej liczbę lub na samej liczbie. W poniższym przykładzie pierwsza pętla jest uruchamiana 3 razy, a druga pętla jest uruchamiana, jednak wiele razy jest wprowadzana przez użytkownika. Jeśli wprowadzisz 12, uruchomi się 12 razy. Zauważysz, że pętla czasów używa kropki składnia (3.razy tak) zamiast składni słowa kluczowego używanej przez pętle while i until. Ma to związek z tym, jak działa pętla czasów pod maską, ale jest używana w ten sam sposób przez chwilę lub do momentu użycia pętli.

#!/usr/bin/env ruby
3.razy nie
umieszcza 'To zostanie wydrukowane 3 razy'
koniec
print 'Wprowadź liczbę: '
num = pobiera.chomp.to_i
il.razy zrobić
dodaje 'Rubin jest świetny!'
koniec

Każda pętla

The każdy pętla jest prawdopodobnie najbardziej użyteczną ze wszystkich pętli. Każda pętla pobierze listę zmiennych i uruchomi blok instrukcji dla każdej z nich. Ponieważ prawie wszystkie zadania obliczeniowe wykorzystują listy zmiennych i muszą coś zrobić z każdą z nich na liście, każda pętla jest zdecydowanie najczęstszą pętlą w Kod rubinowy . Jedną rzeczą, na którą należy zwrócić uwagę, jest argument do bloku instrukcji pętli. Wartość bieżącej zmiennej, na którą patrzy pętla, jest przypisywana do nazwy zmiennej w znakach pionowych, czyli |n| w przykładzie. Przy pierwszym uruchomieniu pętli n zmienna będzie równa „Fred”, przy drugim uruchomieniu pętli będzie równa „Bob” i tak dalej.

#!/usr/bin/env ruby
# Lista nazwisk
imiona = [ 'Fred', 'Bob', 'Jim']
name.each do|n|
umieszcza 'Witaj #{n}'
koniec