在Ruby中,块是一种匿名函数的形式,可以被传递给方法来执行特定的操作。块通常由花括号({})或者do/end关键字包围,可以接受参数并执行其中的代码。
块可以被传递给方法作为参数,然后在方法内部通过yield关键字执行。例如:
def greet
puts "Hello"
yield
end
greet do
puts "World"
end
在上面的例子中,greet方法接受一个块作为参数,并在方法内部通过yield执行该块。最终输出为:
Hello
World
块还可以接受参数,并使用| |语法定义参数。例如:
def calculate(num1, num2)
yield(num1, num2)
end
calculate(5, 3) do |a, b|
puts a + b
end
在上面的例子中,calculate方法接受两个参数和一个块作为参数,并在方法内部通过yield执行该块,并传递参数给块。最终输出为:
8
总的来说,Ruby中的块可以用来执行一些特定的操作,并且可以被传递给方法来实现一些灵活的逻辑控制。