类似for,while和do ... while,直到嵌套循环也可以嵌套以满足特定目的。在这种嵌套中,两个直到循环在组合中起作用,这样一来,首先触发外循环,从而执行内循环。只要内部循环不成立,就不会调用外部的直到循环。这是一种Entry控制循环,它仅意味着首先处理外部布尔表达式;然后进行处理。如果为假,则指针将移至内部循环以检查内部条件。整个执行将以相同的方式进行。
语法:
until conditional [do] until conditional [do] # 要执行的代码 end # 要执行的代码 end
范例1:
=begin Ruby program to find the sum of numbers lying between two limits using nested until loop =end puts "Enter the Upper limit" ul=gets.chomp.to_i puts "Enter the Lower limit" ll=gets.chomp.to_i until ul==ll num=ul temp=ul sum = 0 until num==0 #直到循环的实现 rem=num%10 num=num/10 sum=sum+rem end puts "The sum of #{temp} is #{sum}" ul=ul-1 end
输出结果
Enter the Upper limit 1000 Enter the Lower limit 980 The sum of 1000 is 1 The sum of 999 is 27 The sum of 998 is 26 The sum of 997 is 25 The sum of 996 is 24 The sum of 995 is 23 The sum of 994 is 22 The sum of 993 is 21 The sum of 992 is 20 The sum of 991 is 19 The sum of 990 is 18 The sum of 989 is 26 The sum of 988 is 25 The sum of 987 is 24 The sum of 986 is 23 The sum of 985 is 22 The sum of 984 is 21 The sum of 983 is 20 The sum of 982 is 19 The sum of 981 is 18
范例2:
图案打印:打印以下图案
0 01 012 0123 01234
码:
=begin Ruby program to print the given pattern. =end num=0 until (num==6) j=0 until(j==num) print j j+=1 end puts "" num+=1 end