📜  红宝石 |循环(for、while、do..while、until)

📅  最后修改于: 2022-05-13 01:55:30.633000             🧑  作者: Mango

红宝石 |循环(for、while、do..while、until)

编程语言中的循环是一种功能,当某些条件评估为真或假时,它为重复执行一组指令或函数扫清了道路。 Ruby 提供了不同类型的循环来处理程序中基于条件的情况,以使程序员的任务更简单。 Ruby 中的循环是:

  • while 循环
  • for 循环
  • 做..while循环
  • 直到循环

while 循环

要测试的条件,在循环开始时给出,所有语句都会执行,直到给定的布尔条件满足。当条件变为假时,控件将从while循环中退出。它也被称为入口控制循环,因为要测试的条件出现在循环体的开头。所以基本上,当程序中的迭代次数不固定时,会使用while循环。
句法:

while conditional [do]

 # code to be executed

end

注意: while 循环的条件与代码由保留字do换行符反斜杠 (\)分号 (;) 分隔
流程图:

例子:

Ruby
# Ruby program to illustrate 'while' loop
 
# variable x
x = 4
 
# using while loop
# here conditional is x i.e. 4
while x >= 1
 
# statements to be executed
  puts "GeeksforGeeks"
  x = x - 1
   
# while loop ends here
end


Ruby
# Ruby program to illustrate 'for'
# loop using range as expression
 
i = "Sudo Placements"
 
# using for loop with the range
for a in 1..5 do
     
 puts i
  
end


Ruby
# Ruby program to illustrate 'for'
# loop using array  as expression
 
# array
arr = ["GFG", "G4G", "Geeks", "Sudo"]
 
# using for loop
for i in arr do
     
 puts i
  
end


Ruby
# Ruby program to illustrate 'do..while'loop
 
# starting of do..while loop
loop do
     
 puts "GeeksforGeeks"
  
 val = '7'
  
 # using boolean expressions
 if val == '7'
  break
 end
  
# ending of ruby do..while loop
end


Ruby
# Ruby program to illustrate 'until' loop
 
var = 7
 
# using until loop
# here do is optional
until var == 11 do
 
  # code to be executed
  puts var * 10
  var = var + 1
   
# here loop ends
end


输出:

GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks

循环

for ” 循环具有与 while 循环类似的功能,但语法不同。当预先知道要执行循环语句的次数时,最好使用for循环。它迭代特定范围的数字。它也被称为入口控制循环,因为要测试的条件出现在循环体的开头。
句法:

for variable_name[, variable...] in expression [do]

   # code to be executed

end

for:一个特殊的 Ruby 关键字,表示循环的开始。
variable_name:这是一个变量名,用作对循环当前迭代的引用。
in:这是一个特殊的 Ruby 关键字,主要用于 for 循环。
表达式:它为表达式中的每个元素执行一次代码。这里的表达式可以是范围数组变量
do:这表示要重复执行的代码块的开始。是可选的。
end:这个关键字代表从' do '关键字开始的' for '循环块的结束。
示例 1:

红宝石

# Ruby program to illustrate 'for'
# loop using range as expression
 
i = "Sudo Placements"
 
# using for loop with the range
for a in 1..5 do
     
 puts i
  
end

输出:

Sudo Placements
Sudo Placements
Sudo Placements
Sudo Placements
Sudo Placements

输出:

1
2
3
4
5

说明:在这里,我们定义了范围 1..5。范围运算符创建一系列连续值,包括开始、结束和介于两者之间的值范围。 ( .. ) 创建一个包含最后一项的范围。 1..5 中的 a语句将允许a取 1 到 5 范围内的值(包括 5)。
示例 2:

红宝石

# Ruby program to illustrate 'for'
# loop using array  as expression
 
# array
arr = ["GFG", "G4G", "Geeks", "Sudo"]
 
# using for loop
for i in arr do
     
 puts i
  
end

输出:

GFG
G4G
Geeks
Sudo

做..while循环

do while循环类似于while 循环,唯一的区别是它在执行完语句后检查条件,即它肯定会执行一次循环体。这是一个退出控制循环,因为它测试出现在循环体末尾的条件。
句法:

loop do

 # code to be executed

break if Boolean_Expression

end

在这里,Boolean_Expression 将导致使用运算符(>、=、<=、!=、==)创建的真或假输出。您还可以在括号中使用多个布尔表达式 (Boolean_Expressions),它们将通过逻辑运算符(&&、||、!) 连接。
例子:

红宝石

# Ruby program to illustrate 'do..while'loop
 
# starting of do..while loop
loop do
     
 puts "GeeksforGeeks"
  
 val = '7'
  
 # using boolean expressions
 if val == '7'
  break
 end
  
# ending of ruby do..while loop
end

输出:

GeeksforGeeks

直到循环

Ruby直到循环将执行语句或代码,直到给定条件评估为真。基本上,它与执行直到给定条件评估为假的 while 循环正好相反。 until语句的条件与代码由保留字do换行符分号分隔
句法:

until conditional [do]

 # code to be executed

end

例子:

红宝石

# Ruby program to illustrate 'until' loop
 
var = 7
 
# using until loop
# here do is optional
until var == 11 do
 
  # code to be executed
  puts var * 10
  var = var + 1
   
# here loop ends
end

输出:

70
80
90
100