Ruby 塊(block)是一種非常強(qiáng)大的特性,可以在方法中使用,用于對(duì)方法內(nèi)的代碼進(jìn)行封裝和復(fù)用。以下是 Ruby 塊在以下幾種情況的最佳應(yīng)用:
each
方法遍歷數(shù)組并對(duì)每個(gè)元素執(zhí)行操作。array = [1, 2, 3, 4, 5]
array.each { |num| puts num }
select
方法篩選數(shù)組中的偶數(shù)。array = [1, 2, 3, 4, 5]
even_numbers = array.select { |num| num.even? }
map
方法將數(shù)組中的每個(gè)元素平方。array = [1, 2, 3, 4, 5]
squared_numbers = array.map { |num| num * num }
def add(a, b)
result = yield(a, b)
result
end
add(1, 2) { |x, y| x + y } # 輸出 3
sort
方法對(duì)數(shù)組中的字符串按長度進(jìn)行排序。array = ["apple", "banana", "cherry", "date"]
sorted_array = array.sort { |a, b| a.length <=> b.length }
總之,Ruby 塊在需要執(zhí)行對(duì)集合中元素的迭代、篩選、轉(zhuǎn)換等操作時(shí)非常有用,可以提高代碼的可讀性和可維護(hù)性。