Ruby条件语句简介

我们的日常生活包含一组条件,其作用是将我们定义为个人,这些条件从第一天开始就被介绍给我们:

  • 基本的if表达式
if user.status == "online"
  puts "hello world"
end
Ruby语法提供了必要的元素,可以将任何条件编程序列转换为可管理且易于阅读的代码行。

IF / ELSIF / ELSE声明

if表达式充当问题,结果由该问题的答案决定,在elsifelse语句的帮助下,可能性是无限的:

if user.mood == "happy"
  puts "time to study"
elsif user.mood == "sad"
  puts "time to play"
else 
  puts "time to code"
end

if语句评估我们放在他前面的任何内容,如果结果返回true则条件被接受并且执行其中的代码段,如果结果返回falsenil (空),则在此继续下一个条件case elsif (else if)并使用相同的过程,如果elsif的结果为true ,则应输出消息"time to play" ,最后如果没有条件为true ,则返回else 语句被执行。

如果作为修改器

与上面的示例一样,这里的区别在于,首先我们需要编写“答案”或要执行的代码,然后传递if语句,后跟“问题”或条件,如果结果为true ,则将其执行:

puts "it's true!" if 1 > 0
# returns "it's true"
alarm.sound = off if current_day = 'saturday' || current_day = 'sunday'

除非声明

if语句检查true值的方法不同, unless 语句相反,并检查falsenil

unless cellphone.battery.percentage > 14
  cellphone.start_charge
end

我们可以结合的unless只与表达else语句:

unless job.isDone?
  puts "go back to work"
else
  puts "good job!"
end

job.isDone = true
# returns "good job!"

无需修改

就像他的亲戚ifunless可以用作具有相同目的的修饰符,但仅在结果为falsenil:时才执行nil:

  • 例子:
puts "it's not right!" unless 4 > 3
# 4 > 3 is true so code doesn't execute
alarm.sound = on unless current_time < "7:00am"

案例/何时/其他声明

case语句是另一个Ruby条件,可以用作if / unless的替代方案,当存在多种可能的结果时,它最常用于结构化和创建有效的代码:

case fuel_level
when 71 ... 100
  puts "Fuel Level: High"
when 41 ... 70
  puts "Fuel Level: Medium"
when 21 ... 40
  puts "Fuel Level: Low"
else
  puts "Fuel Level: Very Low"
end

fuel_level: 12
# returns "Fuel Level: Very Low"

case是要求值的表达式, when表达式包含每个条件,如果条件返回true ,则执行内部代码并以end语句end ,如果没有条件,则else表达式将作为要执行的默认条件在这种情况下,条件返回true

链接

如果您能做到这一点,我希望本文能以某种方式对您有所帮助,感谢您的阅读!

From: https://hackernoon.com/an-introduction-to-ruby-conditionals-b14j321l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值