返回顶部

收藏

Generating a Sequence of Numbers

更多
def fibonacci(limit = nil)
  seed1 = 0
  seed2 = 1
  while not limit or seed2 <= limit
    yield seed2
    seed1, seed2 = seed2, seed1 + seed2
 end
end

fibonacci(3) { |x| puts x }
# 1
# 1
# 2
# 3

fibonacci(1) { |x| puts x }
# 1
# 1

fibonacci { |x| break if x > 20; puts x }
# 1
# 1
# 2
# 3
# 5
# 8
# 13

标签:Ruby,Method

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 博主 发表 2014-10-10 00:01:41 浅谈Ruby中的block, proc, lambda, method object的区别
  2. 博主 发表 2012-11-14 07:13:17 Ruby 中的 eigenclass 以及 method lookup
  3. 博主 发表 2013-02-17 03:32:00 Ruby meta programming spell: alias_method_chain
  4. 博主 发表 2014-01-10 00:00:00 Support for Ruby version 1.9.3 will end on Februar
  5. timfarther 发表 2014-04-08 02:15:29 ruby on rails 笔记~
  6. 博主 发表 2013-12-29 08:00:00 重返Ruby&Rails;
  7. 博主 发表 2012-09-02 00:00:00 Method Resolution Order in Python
  8. 博主 发表 2013-02-23 00:00:00 【译文】Ruby 2.0来啦!
  9. Trevor Rowe 发表 2014-09-25 17:37:58 AWS SDK for Ruby V2 Preview Release
  10. 博主 发表 2014-11-13 12:00:00 Ruby 2.0.0-p598 Released
  11. 博主 发表 2013-05-13 03:30:00 RVM Tutorial
  12. joyqi 发表 2014-11-07 03:50:00 Ruby学习第一天

发表评论