2015-04-02 36 views
0

我在看這個幻燈片的時刻: http://www.slideshare.net/GeisonFlores/ruby-functional-programming如何打印前10個方格的自然數可以被5整除?

幻燈片24只展示了我能找到的第10張自然數誰廣場是整除5通過這樣做:

Integer::natural.select{ |x| x**2 % 5 == 0}.take(10).inject(:+) 

我得到的錯誤:找不到Integer類型的'自然'。 我試圖使用紅寶石1.9.3和2.2,似乎無法運行此LOC。

任何人都可以指出我如何解決這個問題嗎? 我是FP新手。

+2

你實際上並不需要做的平方 - 一個數的平方整除5,當且僅當數本身整除5 – 2015-04-02 11:35:24

回答

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 
+0

該滑塊是什麼?我找不到它。 – Stefan 2015-04-02 10:05:33

+0

https://code.google.com/p/tokland/source/browse/trunk/functional/presentation/functional-ruby.txt?r=684 – 2015-04-02 10:11:29

+0

我看到了謝謝。 – Steve 2015-04-02 10:40:20

相關問題