在以下代码中:
def my_while(cond, &body)
while cond.call
body.call
end
end
a = 0
my_while -> { a < 3 } do
puts a
a += 1
end
的目的是什么?
def my_while(cond, &body)
while cond.call
body.call
这对循环有何影响?
答案 0 :(得分:0)
my_while
的参数正在被处理为块。
cond
参数,即比较{ a < 3 }
,由函数执行,作为while
中的测试条件。每次都是,第二个参数&body
正在执行。
这是编写while循环的一种非常复杂的方式,但显然是用于演示传递代码块,这在元编程应用程序中非常有用。