정보글/Ruby

1. Ruby의 조건문과 반복문

초콜릿한덩이 2021. 7. 12. 02:12
IF문
owner = "chocolatl"

if owner == "chocolatl" (then) #then은 생략 가능
	puts "초콜릿한덩이 블로그"
end
water = "60 degrees celsius"
deg = water.to_i

if deg < 40
	puts "cold"
elsif deg >= 40 && deg < 70
	puts "Hot"
else
	puts "Too hot"
end

 

unless문 : 조건문이 옳지 않을 경우, 다음 내용을 처리한다.
owner = "chocolatl"

unless owner == "tistory"
	puts "티스토리가 아니다."
end

 

case문
case 변수명
  when 분기1
  when 분기2
end
point = 7

case point
  when 5
    puts "5포인트"
  when 10
    puts "10포인트"
  else
    puts "잘못된 포인트입니다." #case문에 else도 사용 가능하다.
end

 

while문
i = 2
while i < 300
	puts i
    i **= 2
end

 

until문 : ~하지 않으면 반복한다.
i = 0
until i >= 10
	puts i
    i += 1
end

 

For문
for i in 1..15
	puts i
end

 

times 메소드
반복 횟수.times do |변수|
  처리 내용
end
10.times do # times 메소드는 do를 생략 불가하다.
	puts "Hi there!"
end


5.time do |i| # 임의의 변수 i 지정
	puts i
end

 

upto 메소드
시작점.upto(종료점) do |변수|
  처리 내용
end
1.upto(5) do # upto 메소드는 do 생략 불가하다.
	puts "Hi there!"
end


10.upto(20) do |i|
	puts i
end

 

downto 메소드
15.downto(3) do |i| # downto 메소드는 do 생략 불가하다.
	puts i
end

 

break문
10.times do |i|
	if i == 5
    	break
    else
    	puts i
    end
end

 

next문

반복문 실행 중, next 사용되면 현재 내용을 스킵하고 다음 반복을 실행한다.

10.times do |i|
	if i == 5
    	next
    else
    	puts i
    end
end

[1] 0
[2] 1
[3] 2
[4] 3
[5] 4
[6] 6
[7] 7
[8] 8
[9] 9

 

redo문
total = 0
10.times do |i|
	total += 1
    puts i.to_s + "회째, total = " + total.to_s
    if total == 5
    	redo
    end
end

[1] 0회째, total = 1
[2] 1회째, total = 2
[3] 2회째, total = 3
[4] 3회째, total = 4
[5] 4회째, total = 5
[6] 4회째, total = 6
[7] 5회째, total = 7
[8] 6회째, total = 8
[9] 7회째, total = 9
[10] 8회째, total = 10
[11] 9회째, total = 11