在计算机编程中,while循环适用于特定的布尔条件。重复一直进行到指定的布尔条件不为假为止。您也可以将其称为if语句的迭代。该while循环的两件事情包括:
表达式或布尔条件
循环体
该while循环的方式工作是测试给定的条件,如果结果来作为以后真,则执行循环里面写的表达,否则循环被终止。这也称为预测试循环,因为条件是在执行块之前评估的。这是Entry Control Loop的示例,因为在执行循环主体之前先检查条件。
在Ruby编程语言中,while循环通过以下语法实现:
while (Boolean condition ) # 要执行的代码 end
范例1:
=begin
Ruby program to Calculate the factorial of
given number using while loop
=end
puts "Enter the number"
num=gets.chomp.to_i
i = 1
fact = 1
while i <= num #while循环的实现
fact *= i
i += 1
end
puts "The factorial of #{num} is #{fact}"输出结果
Enter the number 5 The factorial of 5 is 120
范例2:
=begin
Ruby program to check whether the given
number is palindrome or not using while loop
=end
puts "Enter the number"
num=gets.chomp.to_i
temp=num
sum = 0
while num!=0 #while循环的实现
rem=num%10
num=num/10
sum=sum*10+rem
end
if(temp==sum)
puts "The #{temp} is a palindrome"
else
puts "The #{temp} is not a palindrome"
end输出结果
First run: Enter the number 121 The 121 is a palindrome Second run: Enter the number 566 The 566 is not a palindrome
范例3:
=begin
Ruby program to check whether the given number
is Armstrong or not using while loop
=end
puts "Enter the number"
num=gets.chomp.to_i
temp=num
sum = 0
while num!=0 #while循环的实现
rem=num%10
num=num/10
sum=sum+rem*rem*rem
end
if(temp==sum)
puts "The #{temp} is Armstrong"
else
puts "The #{temp} is not Armstrong"
end输出结果
First run: Enter the number 153 The 153 is Armstrong Second run: Enter the number 1 The 1 is Armstrong Third run: Enter the number 2332 The 2332 is not Armstrong
当您必须故意进行无限循环时,可能会发生这种情况。循环本身不会终止,您必须应用一个称为“ break”的附加语句来停止循环。通过以下示例可以证明这一点:
=begin Ruby program to make an infinite loop using while loop =end num=9 while num!=0 #while循环的实现 puts "Nhooo.com" break end
输出结果
Nhooo.com
您会发现,循环将在获得显式的break语句后立即终止。
让我们总结一下:
一个while循环是一款入门控制回路只执行一个给定的条件计算为真。Ruby使用while关键字定义while循环。
一个无限循环是一个循环,永远不会结束本身,即需要一个明确的退出声明。