我正在看这个幻灯片: http://www.slideshare.net/GeisonFlores/ruby-functional-programming
幻灯片24显示,我可以通过这样做找到前10个自然数,其正方形可被5整除:
Integer::natural.select{ |x| x**2 % 5 == 0}.take(10).inject(:+)
我收到错误:找不到Integer的'natural'类型。 我曾尝试使用ruby 1.9.3和2.2,似乎无法运行此LOC。
有人能指出我如何纠正这个问题吗? 我是FP的新手。
答案 0 :(得分:1)
Integer::natural
。在执行select
:
class Integer
def self.natural
Enumerator.new do |yielder|
(1..1.0/0).each do |number|
yielder.yield number
end
end
end
end