Ruby 块(block)是一种非常强大的特性,可以在方法中使用,用于对方法内的代码进行封装和复用。以下是 Ruby 块在以下几种情况的最佳应用:
each
方法遍历数组并对每个元素执行操作。array = [1, 2, 3, 4, 5]
array.each { |num| puts num }
select
方法筛选数组中的偶数。array = [1, 2, 3, 4, 5]
even_numbers = array.select { |num| num.even? }
map
方法将数组中的每个元素平方。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
方法对数组中的字符串按长度进行排序。array = ["apple", "banana", "cherry", "date"]
sorted_array = array.sort { |a, b| a.length <=> b.length }
总之,Ruby 块在需要执行对集合中元素的迭代、筛选、转换等操作时非常有用,可以提高代码的可读性和可维护性。