1.定义带块的方法
#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
def myloop
while true
puts "defdefdefdefdefdef"
yield #执行块
end
end
num = 1 #初始化num
myloop do
puts "dododododododododo"
puts "num is #{num}" #输出num
break if num > 10 #num超过10时跳出循环
num *= 2 #num乘2
end
执行结果:
defdefdefdefdefdef
dododododododododo
num is 1
defdefdefdefdefdef
dododododododododo
num is 2
defdefdefdefdefdef
dododododododododo
num is 4
defdefdefdefdefdef
dododododododododo
num is 8
defdefdefdefdefdef
dododododododododo
num is 16
2.带块方法的调用
#do ~ end这部分是块,do ~ end另外一种写法{ ~ }
对象.方法名(参数,···) do |块变量1,块变量2,···|
块内容
end
本文深入探讨了Ruby中块的使用方式,通过定义带有块的迭代器方法,展示了如何在循环中执行特定任务,直到满足退出条件。同时,文章通过实例解释了块在Ruby编程中的灵活应用。

628

被折叠的 条评论
为什么被折叠?



