首页 > 其他 > 详细

第十一章 块(上)

时间:2016-02-09 01:16:59      阅读:144      评论:0      收藏:0      [点我收藏+]
  1. do~end或者{}之间的部分就是块,其中||包含起来的就是块变量,如下例子i就是块变量,块被执行了5次

(2)

技术分享

(3)

技术分享

(4)

技术分享

(5)

技术分享

(6)#块的另外一种用法是可以确保后处理被执行,这样可以防止类似忘记关闭文件等错误的发生。
					

技术分享

(7)

技术分享

(8)

技术分享

等价于

技术分享

(9)

技术分享

(10)

技术分享

(11)给方法传递块参数的用法

技术分享

(12)块变量的使用实例

技术分享

技术分享

(13)上例的分析解释

块变量比较多时,多出来的块变量值为 nil,而块变量不足时,则不能接收参数值。

最后的通过 |*a| 接收的情况是将所有块变量整合为一个数组来接收。这与定义方法时接收可变参数的情况非常相似。

注意执行过程是:yield(),yield(1),yield(1,2,3)这三个去执行第一个do语句块,得到nil,1,1

然后这三个yield再去执行第二个do语句块,执行完再去执行第三个do语句块。

(14)

技术分享

?

第十一章 块(上)

原文:http://www.cnblogs.com/blueColdFire/p/5185335.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!