Latest web development tutorials

조건부 루비

루비는 몇 가지 일반적인 조건 구조를 제공합니다. 여기에서 우리는 루비가 사용할 수있는 모든 조건문와 수식을 설명합니다.

루비경우 ... else 문

문법

if conditional [then]
	  code...
[elsif conditional [then]
	  code...]...
[else
	  code...]
end

조건부 실행을위한경우식입니다. 거짓거짓과전무 값이 다른 값은 true입니다. 루비 대신 경우 ELIF 다른 사용하는, ELSIF 사용주의하시기 바랍니다.

조건에해당하는 경우, 다음코드입니다.조건이 참이 아닌 경우,코드에지정 else 절은 실행된다.

우리는 일반적으로 다음 예약 된 단어를 생략합니다. 당신이 완전한 기록 할 경우 행의 공식은, 당신은 종류와 프로그램 블록의 조건으로 구분해야합니다. 다음과 같습니다 :

if a == 4 then a = 7 end

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

x=1
if x > 2
   puts "x 大于 2"
elsif x <= 2 and x!=0
   puts "x 是 1"
else
   puts "无法得知 x 的值"
end

위의 출력의 예 :

x 是 1

루비수정하는 경우

문법

code if condition

구문 수정 때 의미한다면 경우에만 설정 경우 왼쪽 발현 실행의 오른쪽에있는 상태.조건은다음코드에해당하는 경우즉,이다.

#!/usr/bin/ruby

$debug=1
print "debug\n" if $debug

위의 출력의 예 :

debug

문하지 않는 한루비

문법

unless conditional [then]
   code
[else
   code ]
end

조건이거짓 인 경우 반대로 작용 식하지 않는 한 경우, 즉, 다음코드를 실행합니다.조건이 참이면,코드에지정 else 절은 실행된다.

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

x=1
unless x>2
   puts "x 小于 2"
 else
  puts "x 大于 2"
end

위 예제의 출력은 다음과 같습니다

x 小于 2

루비수정하지 않는 한

문법

code unless conditional

조건이거짓 인 경우,코드를 실행합니다.

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$var =  1
print "1 -- 这一行输出\n" if $var
print "2 -- 这一行不输出\n" unless $var

$var = false
print "3 -- 这一行输出\n" unless $var

위의 출력의 예 :

1 -- 这一行输出
3 -- 这一行输出

루비case 문

문법

case expression
[when expression [, expression ...] [then]
   code ]...
[else
   code ]
end

판사 첫 경기의 경우식은다음 경기 결과에 분기.

그것은 특정식의경우 콘텐츠의 일관성,구현시 부를 비교 ===연산자를 이용한다.

우리는 일반적으로 다음 예약 된 단어를 생략합니다. 당신이 완전한 기록 할 경우 수식은 행에, 당신은 종류와 프로그램 블록의 조건으로 구분해야 할 때. 다음과 같습니다 :

when a == 4 then a = 7 end

따라서 :

case expr0
when expr1, expr2
   stmt1
when expr3, expr4
   stmt2
else
   stmt3
end

실질적으로 유사한 :

_tmp = expr0
if expr1 === _tmp || expr2 === _tmp
   stmt1
elsif expr3 === _tmp || expr4 === _tmp
   stmt2
else
   stmt3
end

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$age =  5
case $age
when 0 .. 2
    puts "婴儿"
when 3 .. 6
    puts "小孩"
when 7 .. 12
    puts "child"
when 13 .. 18
    puts "少年"
else
    puts "其他年龄段的"
end

위 예제의 출력은 다음과 같습니다

小孩

케이스의 "표현"부품이 생략되는 경우, 연산 조건이 참일 때는 식의 일부이다.

foo = false
bar = true
quu = false

case
when foo then puts 'foo is true'
when bar then puts 'bar is true'
when quu then puts 'quu is true'
end
# 显示 "bar is true"