在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中的塊可以用來執行一些特定的操作,并且可以被傳遞給方法來實現一些靈活的邏輯控制。