W C i wielu innych językach istnieje continuesłowo kluczowe, które użyte w pętli przeskakuje do następnej iteracji pętli. Czy jest jakiś odpowiednik tego continuesłowa kluczowego w Ruby?
Wewnątrz pętli i na-iterator metod jak eachi kluczowe w Ruby będzie miał wpływ skoków do następnej iteracji pętli (tak samo jakmapnextcontinue w C).
Jednak tak naprawdę to po prostu wraca z bieżącego bloku. Możesz więc używać go z dowolną metodą, która zajmuje blok - nawet jeśli nie ma to nic wspólnego z iteracją.
Odpowiedzi:
Tak, to się nazywa
next
.To powoduje, że:
źródło
next
) powyżej C (continue
)next
sprawdź także,
redo
które ponowne wykonanie bieżącej iteracji.źródło
redo
rozkaz (lub jego esencję, zresztą). Aby interpretować Ruby, wyszukaj „ponów” na tej stronie .Pisanie Iana Purton za odpowiedź w nieco bardziej idiomatycznych sposób:
Wydruki:
źródło
Wewnątrz pętli i na-iterator metod jak
each
i kluczowe w Ruby będzie miał wpływ skoków do następnej iteracji pętli (tak samo jakmap
next
continue
w C).Jednak tak naprawdę to po prostu wraca z bieżącego bloku. Możesz więc używać go z dowolną metodą, która zajmuje blok - nawet jeśli nie ma to nic wspólnego z iteracją.
źródło
Ruby ma dwa inne słowa kluczowe kontroli pętli / iteracji:
redo
iretry
. Przeczytaj więcej o nich i różnicach między nimi w Ruby QuickTips .źródło
Myślę, że nazywa się to dalej .
źródło
Użyj następnej, pominie ten warunek, a reszta kodu będzie działać. Poniżej przedstawiłem pełny skrypt i out put
Wyjście: wprowadź nmber 10
1 2 3 4 6 7 8 9 10
źródło