您的位置:58脚本 > ruby 判断 Ruby 条件判断

ruby 判断 Ruby 条件判断

2023-03-17 21:32 Ruby教程

ruby 判断 Ruby 条件判断

ruby 判断

Ruby 是一种动态编程语言,它提供了一系列的判断条件,可以帮助开发者更好地控制代码的执行流程。Ruby 中有三个主要的判断条件:if、unless 和 case。

# if 语句
if condition
  # code to be executed if condition is true
else
  # code to be executed if condition is false
end

if 语句是最常用的判断条件之一,它允许开发者根据特定的条件执行不同的代码块。如果条件为真,就会执行 if 块中的代码;如果条件为假,就会执行 else 块中的代码。

 
# unless 语句 
unless condition 
  # code to be executed if condition is false 
else 
  # code to be executed if condition is true 
end   

unless 语句是一个特殊形式的 if 语句,它具有相同的功能,但语法上略有不同。如果条件为假(false)时就会执行 unless 块中的代码;如果条件为真时就会执行 else 块中的代码。

   # case 语句   case expression   when value1    # code to be executed when expression equals value1   when value2    # code to be executed when expression equals value2   else    # code to be executed when expression does not equal any value   end 

case 语句是 Ruby 用于处理复杂逻辑判断时更常用的方法。case 语句具有多个 when 分支和一个默认 else 分支。当 case 表达式匹配特定值时就会执行相应分支中的代码。

Ruby 条件判断

Ruby 提供了其他现代语言中很常见的条件结构。在这里,我们将解释所有的条件语句和 Ruby 中可用的修饰符。

if...else 语句

语法

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

if 表达式用于条件执行。值 false 和 nil 为假,其他值都为真。请注意,Ruby 使用 elsif,不是使用 else if 和 elif。
如果 conditional 为真,则执行 code。如果 conditional 不为真,则执行 else 子句中指定的 code。
通常我们省略保留字 then 。若想在一行内写出完整的 if 式,则必须以 then 隔开条件式和程式区块。如下所示:

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

if 修饰符

语法

code if condition

如果 conditional 为真,则执行 code

实例

#!/usr/bin/ruby

$debug=1
print "debugn" if $debug


这将产生以下结果:

debug

unless 语句

语法

unless conditional [then]
   code
[else
   code ]
end

unless式和 if式作用相反,即如果 conditional 为假,则执行 code。如果 conditional 为真,则执行 else 子句中指定的 code

实例

#!/usr/bin/ruby

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


这将产生以下结果:

x 小于 2

unless 修饰符

语法

code unless conditional

如果 conditional 为假,则执行 code

实例

#!/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

case先对一个 expression 进行匹配判断,然后根据匹配结果进行分支选择。

它使用 ===运算符比较 when 指定的 expression,若一致的话就执行 when 部分的内容。

通常我们省略保留字 then 。若想在一行内写出完整的 when 式,则必须以 then 隔开条件式和程式区块。如下所示:

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


这将产生以下结果:

小孩


阅读全文
以上是58脚本为你收集整理的ruby 判断 Ruby 条件判断全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS