最近在看《Programming Ruby 中文版》(第二版)
第50页,block和迭代器,关于显示Fibonacci数列的例子:
def fib_up_to(max)
i1, i2 = 1, 1
while i1 <= max
yield i1
i1, i2 = i2, i1+i2
end
end
fib_up_to(1000) {|f| print f, " "}
print "\n" #此句为结果查看方便自己加的
执行结果和书上显示的一样(我用的编辑器是用ruby one-click install自带的SciTE):
>ruby HQ_PR2_014.rb
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>Exit code: 0
但是我把代码中的"1000"改为"01000",即:
def fib_up_to(max)
i1, i2 = 1, 1
while i1 <= max
yield i1
i1, i2 = i2, i1+i2
end
end
fib_up_to(01000) {|f| print f, " "}
print "\n" #此句为结果查看方便自己加的
执行结果便变了,少了后面两个数字:
>ruby HQ_PR2_014.rb
1 1 2 3 5 8 13 21 34 55 89 144 233 377
>Exit code: 0
不知道是什么原因,不过我相信我看完这本书再回过来应该会明白,留个记号,以后回来回顾
。
(若有路过的前辈,也可给小弟留个解释,感谢!)
分享到:
相关推荐
主要介绍了Ruby中Block和迭代器的使用,是Ruby入门学习中的基础知识,需要的朋友可以参考下
如何拖动一个TextBlock的文字到另一个TextBlock
在PCS7中让鼠标在Block Icon上停留时显示Block Comment信息zip,在PCS7中让鼠标在Block Icon上停留时显示Block Comment信息
微信小程序解密遇到pad block corrupted 请直接运行com.xiaochengxu.aes.AesUtil main函数进行测试 代码中的测试数据和微信小程序官方提供的一致
Block:一个numpy, PyTorch和beyond的智能块矩阵库
这是一个关于iOS block的demo,希望对初学者能有帮助!
TextBlock属性
2:如果启动指定block,不用等指定block完成即可启动下一个block。 合成block动作与无限运转中的条件有分歧等情况下 3:如果启动指定block,等指定block完成再启动下一个block 选别动作等连续运转等情况下 6.以...
一个TextBox伪装的可以复制的TextBlock,可以复制其中的文字
wpf Textblock 文字过长时,中间用省略号代替。有好的方法,请回复
使用 Block & MicroPython 对微控制器进行编程。支持 KidBright32 系列、OpenKB、IPST-WiFi 和 TTGO T-Display 未来 使用 Block 和 MicroPython 代码进行编程 不可用时自动检查并上传 MicroPython 使用安装扩展添加...
比较small block NANDFLASH and large block NANDFLASH
一个简单的block代码工程,自定义tableview cell,并使用block
pin block计算工具
iOS的block是学习的难点和重点,熟练使用block可以达到代码的简单高效,特别是在网络的使用过程中。Block demo是一个简单易学的,可以便于学习原理。
ios block学习总结demo
Block的学习以及深入学习,适合初学者使用
delphi BlockRead用法的源码,blockread 函数可以读一个或多个记录到变量中
iOSblock方法的详细学习 指针函数和block的比较 详细自定义block