루비주기
코드 여러번 동일한 블록을 행하는 루프 루비. 이 섹션의 의지 세부 모든 루프 루비를 지원합니다.
루비문 동안
문법
while conditional [do] code end
또는
<pre> while conditional [:] code end
조건이참이면, 그코드를 실행한다.
또는 구문을 : 당신은 생략 할 수있다. 그러나 동안 줄에 수식을 작성하거나 수행해야합니다 떨어져 조건식 또는 프로그램 블록을.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 while $i < $num do puts("在循环语句中 i = #$i" ) $i +=1 end
위 예제의 출력은 다음과 같습니다
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
루비동안 수정
문법
code while condition 或者 begin code end while conditional
조건이참이면, 그코드를 실행한다.
없는구조와수정에 이상 문이절을보장하기시작하면서경우, 코드는조건부판단하기 전에 한 번 실행됩니다.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1 end while $i < $num
위 예제의 출력은 다음과 같습니다
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
루비문까지
until conditional [do] code end
조건이거짓 인 경우,코드를 실행합니다.
구문 DO는 생략 될 수있다. 그러나 식까지 작성, 당신은 행에 떨어져 조건식 또는 프로그램 블록을 수행해야합니다.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 until $i > $num do puts("在循环语句中 i = #$i" ) $i +=1; end
위 예제의 출력은 다음과 같습니다
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
루비수정까지
문법
code until conditional 或者 begin code end until conditional
조건이거짓 인 경우,코드를 실행합니다.
지금까지없는구조 이상절을확인하기 성명 수정 자하는경우,코드는조건부판단하기 전에 한 번 실행됩니다.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1; end until $i > $num
위 예제의 출력은 다음과 같습니다
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
문루비
문법
for variable [, variable ...] in expression [do] code end
제 계산식 개체 별도로 각 엘리먼트코드에대한 다음식을얻었다.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 puts "局部变量的值为 #{i}" end
여기서는 범위 0..5 정의한. 0..5의 난에 대한 문 (5) 5-0에서 i 값을 허용합니다.
위 예제의 출력은 다음과 같습니다
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
용루프가 거의 정확하게상당하다에:
(expression).each do |variable[, variable...]| code end
그러나, 루프 지역 변수에 대한 새 범위를 만들지 않습니다.
구문 DO는 생략 될 수있다. 그러나 행의 수식 작성, 당신은 떨어져 조건식 또는 프로그램 블록을 수행해야합니다.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- (0..5).each do |i| puts "局部变量的值为 #{i}" end
위 예제의 출력은 다음과 같습니다
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
루비break 문
문법
break
가장 안쪽의 루프의 종료. 당신이 블록 내에서 호출 한 경우 블록이 종료 (메소드가 리턴는 nil을)과 관련이있다.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i > 2 then break end puts "局部变量的值为 #{i}" end
위 예제의 출력은 다음과 같습니다
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2
루비다음 문
문법
next
루프의 다음 반복으로 이동합니다. 당신이 블록에 호출하면 실행 블록(표현이전무를 반환수율)종료된다.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i < 2 then next end puts "局部变量的值为 #{i}" end
위 예제의 출력은 다음과 같습니다
局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
루비다시 실행 문
문법
redo
가장 안쪽의 루프 반복을 다시 시작, 루프 조건을 확인하지 않습니다. 당신이 블록에서 호출 할 경우,수율또는전화를다시시작합니다.
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i < 2 then puts "局部变量的值为 #{i}" redo end end
이것은 다음과 같은 결과를 생산하고 무한 루프를 입력합니다 :
局部变量的值为 0 局部变量的值为 0 ............................
루비재시도 문
주 : 1.9 이상 버전은 루프에서 사용 재 시도를 지원하지 않습니다.
문법
retry
재 시도가신체의 처음부터, 구조 절을 시작 발현에 나타나면 다시 시작을 시작합니다.
begin do_something # 抛出的异常 rescue # 处理错误 retry # 重新从 begin 开始 end
재 시도가 반복 나타나는 경우, 또는 신체 내에서 발현을 다시 반복 블록 내에서 호출합니다. 반복 파라미터 재평가.
for i in 1..5 retry if some_condition # 重新从 i == 1 开始 end
예
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 1..5 retry if i > 2 puts "局部变量的值为 #{i}" end
이것은 다음과 같은 결과를 생산하고 무한 루프를 입력합니다 :
局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 ............................