Latest web development tutorials

루비주기

코드 여러번 동일한 블록을 행하는 루프 루비. 이 섹션의 의지 세부 모든 루프 루비를 지원합니다.

루비문 동안

문법

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
............................