红宝石 |决策(if、if-else、if-else-if、三元)|套装 – 1
编程中的决策类似于现实生活中的决策。同样在编程中,当满足某些条件时,需要执行某个代码块。编程语言使用控制语句根据特定条件控制程序的执行流程。这些用于根据程序状态的变化使执行流程前进和分支。同样,在 Ruby 中,if-else 语句用于测试指定的条件。
Ruby 中的决策语句:
- if 语句
- if-else 语句
- if – elsif 梯子
- 三元语句
if 语句
如果 Ruby 中的语句用于决定是否执行某个语句或语句块,即如果某个条件为真,则执行一个语句块,否则不执行。
句法:
if (condition)
# statements to be executed
end
流程图:
例子:
Ruby
# Ruby program to illustrate if statement
a = 20
# if condition to check whether
# your age is enough for voting
if a >= 18
puts "You are eligible to vote."
end
Ruby
# Ruby program to illustrate
# if - else statement
a = 15
# if condition to check
# whether age is enough for voting
if a >= 18
puts "You are eligible to vote."
else
puts "You are not eligible to vote."
Ruby
# Ruby program to illustrate the
# if - else - if statement
a = 78
if a < 50
puts "Student is failed"
elsif a >= 50 && a <= 60
puts "Student gets D grade"
elsif a >= 70 && a <= 80
puts "Student gets B grade"
elsif a >= 80 && a <= 90
puts "Student gets A grade"
elsif a >= 90 && a <= 100
puts "Student gets A+ grade"
end
Ruby
# Ruby program to illustrate the
# Ternary statement
# variable
var = 5;
# ternary statement
a = (var > 2) ? true : false ;
puts a
输出:
You are eligible to vote.
if – else 语句
在此“if”语句用于在条件为真时执行代码块,而“else”语句用于在条件为假时执行代码块。
句法:
if(condition)
# code if the condition is true
else
# code if the condition is false
end
流程图:
例子:
红宝石
# Ruby program to illustrate
# if - else statement
a = 15
# if condition to check
# whether age is enough for voting
if a >= 18
puts "You are eligible to vote."
else
puts "You are not eligible to vote."
输出:
You are not eligible to vote.
if – elsif – else 阶梯语句
在这里,用户可以在多个选项中做出决定。 'if' 语句自上而下执行。一旦控制“if”的条件之一为真,与该“if”相关联的语句就会被执行,而梯形图的其余部分将被绕过。如果没有一个条件为真,那么最后的 else 语句将被执行。
句法:
if(condition1)
# code to be executed if condition1is true
elsif(condition2)
# code to be executed if condition2 is true
else(condition3)
# code to be executed if condition3 is true
end
流程图:
例子:
红宝石
# Ruby program to illustrate the
# if - else - if statement
a = 78
if a < 50
puts "Student is failed"
elsif a >= 50 && a <= 60
puts "Student gets D grade"
elsif a >= 70 && a <= 80
puts "Student gets B grade"
elsif a >= 80 && a <= 90
puts "Student gets A grade"
elsif a >= 90 && a <= 100
puts "Student gets A+ grade"
end
输出:
Student gets B grade
三元语句
在 Ruby 中,三元语句也称为缩短的 if 语句。它将首先评估表达式的真值或假值,然后执行其中一个语句。如果表达式为真,则执行真语句,否则将执行假语句。
句法:
test-expression ? if-true-expression : if-false-expression
例子:
红宝石
# Ruby program to illustrate the
# Ternary statement
# variable
var = 5;
# ternary statement
a = (var > 2) ? true : false ;
puts a
输出:
true