• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

[2014年学习计划之RoR系列]第二步–熟悉Ruby语言(2/n)BlocksandIterators(代码块和迭 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

[就算没有含金量,也请尊重原创, 转载自我的独立博客http://brucejia.net]

 

Blocks and Iterators (代码块和迭代器)

代码块和迭代器是Ruby语言中比较有特点的东西。先看代码块吧,如下面代码所示,代码块通常是由大括号({和}) 或者do/end包起来的一段代码。

# this is a block
###
# and so is this
#
   5: end ###

建议:单行的block用大括号;多行的block用do/end

 

blocks可以用来实现回调函数和迭代器。

   1: def call_block
yield
yield
   6: end
   7:  
 }

 

注意代码中的yield关键字。上边的代码产生结果如下:

Start of method
In the block
In the block
End of method

yield会调用跟方法(method)相关联的block,可以调用一次或多次。

当然block也可以带有自己的参数

   1: call_block {|str, num| ... }

调用的时候将参数传入给yield就好了。 - 这个时候yield看起来像个函数了。

   1: def call_block
, 99)
   3: end

动手试试看这两行代码会输出什么。

   1: animals = %w( ant bee cat dog elk ) # create an array
   2: animals.each {|animal| puts animal } # iterate over the contents

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ruby on rails 自学笔记 (1)入门篇发布时间:2022-07-14
下一篇:
通过 for 循环,比较 Python 与 Ruby 编程思想的差别发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap