Ruby-루프

Ruby의 루프는 동일한 코드 블록을 지정된 횟수만큼 실행하는 데 사용됩니다. 이 장에서는 Ruby에서 지원하는 모든 루프 문을 자세히 설명합니다.

루비 while 문

통사론

while conditional [do]
   code
end

조건 이 참인 동안 코드 를 실행 합니다. 동안 루프의 조건은 분리되어 코드 예약어 할, 줄 바꿈, 백 슬래시 \, 또는 세미콜론;.

#!/usr/bin/ruby

$i = 0
$num = 5

while $i < $num  do
   puts("Inside the loop i = #$i" )
   $i +=1
end

이것은 다음 결과를 생성합니다-

Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4

수정 자 동안 루비

통사론

code while condition

OR

begin 
  code 
end while conditional

조건 이 참인 동안 코드 를 실행 합니다.

while 수정자가 rescue 또는 ensure 절이 없는 begin 문 뒤에 오는 경우 조건이 평가되기 전에 코드 가 한 번 실행됩니다.

#!/usr/bin/ruby

$i = 0
$num = 5
begin
   puts("Inside the loop i = #$i" )
   $i +=1
end while $i < $num

이것은 다음 결과를 생성합니다-

Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4

Ruby until 문

until conditional [do]
   code
end

조건 이 거짓 인 동안 코드 를 실행 합니다 . 까지 문의 조건은 분리되어 코드 예약어에 의해 수행 , 줄 바꿈, 또는 세미콜론.

#!/usr/bin/ruby

$i = 0
$num = 5

until $i > $num  do
   puts("Inside the loop i = #$i" )
   $i +=1;
end

이것은 다음 결과를 생성합니다-

Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Inside the loop i = 5

수정 자까지 루비

통사론

code until conditional

OR

begin
   code
end until conditional

조건 이 거짓 인 동안 코드 를 실행 합니다 .

until 수정자가 rescue 또는 ensure 절 없이 begin 문 뒤에 오는 경우 조건 이 평가 되기 전에 코드 가 한 번 실행 됩니다.

#!/usr/bin/ruby

$i = 0
$num = 5
begin
   puts("Inside the loop i = #$i" )
   $i +=1;
end until $i > $num

이것은 다음 결과를 생성합니다-

Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Inside the loop i = 5

Ruby for Statement

통사론

for variable [, variable ...] in expression [do]
   code
end

expression의 각 요소에 대해 한 번씩 코드를 실행 합니다 .

#!/usr/bin/ruby

for i in 0..5
   puts "Value of local variable is #{i}"
end

여기서는 0..5 범위를 정의했습니다. 위한 문 0..5의 수는 (5 포함) 0 내지 5의 범위의 값을 취할. 이것은 다음 결과를 생성합니다-

Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5

A는 중 ...에서 루프를 거의 정확하게 다음과 동일합니다 -

(expression).each do |variable[, variable...]| code end

for 루프는 지역 변수에 대한 새 범위를 생성하지 않는다는 점을 제외하고 . 에 대한 루프의 표현이 분리되어 코드 예약어 할, 줄 바꿈, 또는 세미콜론.

#!/usr/bin/ruby

(0..5).each do |i|
   puts "Value of local variable is #{i}"
end

이것은 다음 결과를 생성합니다-

Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5

Ruby break 문

통사론

break

대부분의 내부 루프를 종료합니다. 블록 내에서 호출 된 경우 연관된 블록이있는 메서드를 종료합니다 (메소드가 nil을 반환 함).

#!/usr/bin/ruby

for i in 0..5
   if i > 2 then
      break
   end
   puts "Value of local variable is #{i}"
end

이것은 다음 결과를 생성합니다-

Value of local variable is 0
Value of local variable is 1
Value of local variable is 2

루비 다음 진술

통사론

next

가장 내부 루프의 다음 반복으로 이동합니다. 블록 내에서 호출되면 블록 실행을 종료합니다 ( yield 또는 call이 nil을 반환 함).

#!/usr/bin/ruby

for i in 0..5
   if i < 2 then
      next
   end
   puts "Value of local variable is #{i}"
end

이것은 다음 결과를 생성합니다-

Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5

Ruby redo 선언문

통사론

redo

루프 조건을 확인하지 않고 가장 내부 루프의이 반복을 다시 시작합니다. 블록 내에서 호출 되면 yield 또는 call을 다시 시작합니다 .

#!/usr/bin/ruby

for i in 0..5
   if i < 2 then
      puts "Value of local variable is #{i}"
      redo
   end
end

이것은 다음 결과를 생성하고 무한 루프로 이동합니다.

Value of local variable is 0
Value of local variable is 0
............................

Ruby 재시도 문

통사론

retry

경우 재 시도 의 처음부터 표정, 다시 시작 시작의 구조 절에 나타납니다 몸을 시작합니다.

begin
   do_something # exception raised
rescue
   # handles error
   retry  # restart from beginning
end

반복기, 블록 또는 for 표현식 의 본문에 재 시도가 나타나면 반복기 호출의 호출을 다시 시작합니다. 반복자에 대한 인수가 재평가됩니다.

for i in 1..5
   retry if some_condition # restart from i == 1
end

#!/usr/bin/ruby
for i in 0..5
   retry if i > 2
puts "Value of local variable is #{i}"
end

이것은 다음 결과를 생성하고 무한 루프로 이동합니다.

Value of local variable is 1
Value of local variable is 2
Value of local variable is 1
Value of local variable is 2
Value of local variable is 1
Value of local variable is 2
............................