1,计算数字数组之和和乘积
ruby 代码
- class Array
def inject(n)
each { |value| n = yield(n,value) }
n
end
def sum
inject(0) { |n, value| n + value }
end
def product
inject(1) { |n, value| n * value }
end
end
puts [1, 2, 3, 4, 5].sum
puts [1, 2, 3, 4, 5].product
疑问:yield是方法吗?如果是,是谁的方法呢?
2,只显示偶数
ruby 代码
- class Array
- def even
- i = 0
- while i < self.size
- yield(self[i]) if i % 2 == 0
- i += 1
- end
- end
- end
- [1,2,3,4,5,6].even { |i| puts i }
2466

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



