ruby提供了6种循环语法ttimes/for/while/until/each/loop,如下
都以计算1+2+3+..+10之和为例
第一种:times do
sum=0 11.times do |i| p "#{sum}+#{i}" sum+=i end puts "times循环中sum=#{sum}" p "======================="
第二种:for in
sum=0 for i in 1..10 p "#{sum}+#{i}" sum+=i end puts "for循环中sum=#{sum}" p "=======================" sum=0 times=[1,2,3,4,5,6,7,8,9,10] for i in times p "#{sum}+#{i}" sum+=i end puts "for循环中使用数组sum=#{sum}" p "======================="
第三种:while
sum=0 i=1 while i<=10 p "#{sum}+#{i}" sum+=i i+=1 end puts "while循环中sum=#{sum}" p "======================="
第四种:until
sum=0 i=1 until i>10 p "#{sum}+#{i}" sum+=i i+=1 end puts "until循环中sum=#{sum}" p "======================="
第五种:each do
sum=0 i=1 times=[1,2,3,4,5,6,7,8,9,10] times.each do |i| p "#{sum}+#{i}" sum+=i i+=1 end puts "each do循环中sum=#{sum}" p "======================="
第六种:loop do
sum=0 i=1 times=[1,2,3,4,5,6,7,8,9,10] loop do p "loop方法没有终止#{i}" p "#{sum}+#{i}" sum+=i i+=1 if(i>10) break end end puts "loop循环中sum=#{sum},需要用break进行退出循环,否则会一直循环,如果进入死循环可以使用ctrl+C进行退出" p "======================="