Ruby 方法的定义与调用全解析
1. 流处理与三角数定义
在 Ruby 中,我们可以通过流处理来筛选出符合特定条件的元素。例如,下面的代码可以找出前 10 个既是 3 的倍数又是回文数的数字:
p InfiniteStream.new
.all
.select(&multiple_of_three)
.select(&palindrome)
.first(10)
执行结果为:
[0, 3, 6, 9, 33, 66, 99, 111, 141, 171]
同时,我们也可以使用 lazy 和 map 来优化三角数的定义,让使用者无需了解内部的二元数组结构:
triangular_numbers = Enumerator.produce([1, 2]) do |number, count|
[number + count, count + 1]
end.lazy.map { _1.first }
p triangular_numbers.first(5)
执行结果为:
[1, 3, 6, 10, 15]
2. 方法的定义
2.1 基本定义
在 Ruby 中,使用 def 关键字来定
超级会员免费看
订阅专栏 解锁全文
523

被折叠的 条评论
为什么被折叠?



