Najlepszy samouczek cykl Ruby W 2024 r. W tym samouczku możesz dowiedzieć się Rubywhile,Rubynatomiast modyfikator,Rubyaż sprawozdania,Rubyaż modyfikatorów,Rubyna rachunku,Rubyinstrukcja break,Rubynastępna instrukcja,Rubystwierdzenie przerobić,Rubystwierdzenie ponawiania,
Ruby w pętli do wykonywania tego samego bloku kodu kilka razy. Ten rozdział opisuje wszystkie pętle wsparcie Ruby.
while conditional [do] code end
lub
<pre> while conditional [:] code end
Gdywarunkowejest prawdziwe, to wykonujekod.
Czy składnię: można pominąć. Ale napisać formułę, podczas gdy w kolejce, albo trzeba zrobić: wyrażenie siebie warunkowe lub programowych bloków.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 while $i < $num do puts("在循环语句中 i = #$i" ) $i +=1 end
Powyższy przykład wyjście jest:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
code while condition 或者 begin code end while conditional
Gdywarunkowejest prawdziwe, to wykonujekod.
Jeślinatomiastw modyfikatora bezratunekczy późniejzaczynająstwierdzenie zapewnićklauzulę,kod będzie wykonywany raz przed wyrokuwarunkowego.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1 end while $i < $num
Powyższy przykład wyjście jest:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
until conditional [do] code end
Kiedyuwarunkowanejest fałszem, wykonaniekodu.
Składnia zrobić, można pominąć. Ale napisać do formuły, należy wykonać następujące wyrażenie warunkowe lub program bloki od siebie w rzędzie.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 until $i > $num do puts("在循环语句中 i = #$i" ) $i +=1; end
Powyższy przykład wyjście jest:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
code until conditional 或者 begin code end until conditional
Kiedyuwarunkowanejest fałszem, wykonaniekodu.
Jeślido tejpory modyfikator woświadczeniu,że żadnapomocczy późniejzaczynajązapewnićklauzulę,kod będzie wykonywany raz przed wyrokuwarunkowego.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1; end until $i > $num
Powyższy przykład wyjście jest:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
for variable [, variable pl.] in expression [do] code end
Pierwszy wyraz obliczenia w celu uzyskania obiektu, towyrażeniedla każdego z elementów z osobnasymbol.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0pl5 puts "局部变量的值为 #{i}" end
Tutaj mamy zdefiniowany zakres 0pl5. Oświadczenie for i in 0pl5 pozwalają wartość i od 0 do 5 (z 5).
Powyższy przykład wyjście jest:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
Pętlafor pl. injest prawie dokładnie równoważne:
(expression).each do |variable[, variablepl.]| code end
Jednak dla pętli nie stwarza nowe możliwości dla zmiennych lokalnych.
Składnia zrobić, można pominąć. Ale pisać dla formule z rzędu, a potem trzeba zrobić poza wyrażenie warunkowe lub program bloków.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- (0pl5).each do |i| puts "局部变量的值为 #{i}" end
Powyższy przykład wyjście jest:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
break
Rozwiązanie wewnętrznej pętli. Jeśli wywoływany w bloku, blok jest związane z zakończeniem stosunku pracy (metoda wraca nil).
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0pl5 if i > 2 then break end puts "局部变量的值为 #{i}" end
Powyższy przykład wyjście jest:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2
next
Skocz do następnej iteracji. Jeśli zadzwonisz w bloku kończy blok wykonawczy(otrzymującwyrażenie zwraca nil).
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0pl5 if i < 2 then next end puts "局部变量的值为 #{i}" end
Powyższy przykład wyjście jest:
局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
redo
Ponowne uruchomienie wewnętrznej pętli iteracji, warunek pętli nie jest zaznaczona. Jeśli zadzwonisz w bloku, a następnie ponownieplonlubzadzwoń.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0pl5 if i < 2 then puts "局部变量的值为 #{i}" redo end end
To daje następujące wyniki, a wejdzie w nieskończoną pętlę:
局部变量的值为 0 局部变量的值为 0 plplplplplplplplplplplplplpl
UWAGA: 1.9 i nowsze wersje nie obsługują powtórzenie użytku w pętli.
retry
Jeśli pojawi się wponawianiawypowiedzi zaczynają klauzuli ratowniczej, od początku organizmie zaczynają się ponownie uruchomić.
begin do_something # 抛出的异常 rescue # 处理错误 retry # 重新从 begin 开始 end
Jeśli pojawi się w ponawiania iteracji lub ekspresji w organizmie, powtarza, połączenia wewnątrz bloku. Parametry iteracji ponownej ocenie.
for i in 1pl5 retry if some_condition # 重新从 i == 1 开始 end
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 1pl5 retry if i > 2 puts "局部变量的值为 #{i}" end
To daje następujące wyniki, a wejdzie w nieskończoną pętlę:
局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 plplplplplplplplplplplplplpl