Ruby代码块和迭代器.pdfVIP

  • 1
  • 0
  • 约1.63万字
  • 约 18页
  • 2017-06-07 发布于湖北
  • 举报
本电子书由站长百科()教程组制作 Ruby 代码块与迭代器  出处:站长百科   原文地址:/wiki/Ruby‐代码块.迭代器   本电子书整理自站长百科Ruby‐代码块.迭代器词条,查看内容请访问网站。  目录 Ruby代码块与迭代器1 使用 Blocks 做循环抽象 2 使用Closures4 实现迭代器6 Ruby与C++和Java 的比较 10 事务代码块12 代码块可以转换为闭包 14 更多电子书17 IXWebHosting首家推出中文网站() 的美国主机商 无限空间 无限流量 赠送 15 个 独立 IP 及 3 个免费域名 免备案 支付宝付款方便快捷 中文客服全程服务 省钱大攻略: http://www.ixwebhosting.bz/ixwebhosting-discount/ 为您省多多  出处:站长百科   原文地址:/wiki/Ruby‐代码块.迭代器   本电子书整理自站长百科 Ruby‐代码块.迭代器词条,查看内容请访问网站。  本电子书由站长百科()教程组制作 推荐内容: 电子书下载 | 站长百科礼品兑换 使用 Blocks 做循环抽象 Bill Venners: Ruby 支持 blocks 和 Closure 结构. 什么是 blocks 和 Closure ,他们如何使用? Yukihiro Matsumoto : Blocks 基本上就是匿名函数。你可能熟悉诸如 Lisp 或 Python 等其他语言中的 Lambda 函数。 你可以向另外一个函数传递一个匿名函数,这个函数可以调用这个被传递过来的匿 名函数。例如, 函数可以通过一次传递给匿名函数一个元素来执行循环迭代。在那些可以 将函数当作第一类型的编程语言中,这是个通常的方式,称为高排序函数样式。 Lisp 可以 这样,Python 也是如此,甚至就连 C 也可以通过函数指针实现这点。很多其他语言也可以 做这样的编程。在 Ruby 中,不同之处只是在高排序函数语法风格上有所不同。在其他语言 中,你必须显示的指出一个函数可以接受另外一个函数作为参数。但是在Ruby 中,任何方 法都可以 Block 作为一个隐性参数被调用。在方法中,你可以使用 yield 关键字和一个值 来调用 block. Bill Venners: Block 的好处是什么? Yukihiro Matsumoto : 基本上,Block 是被设计来做循环迭代抽象的。Block 最基本的使用就是让你以自己的 方式定义如何循环迭代。 例如,如果你有一个列表,序列,矢量组或者数组,你可以通过使用标准库中提供的方 法来实现向前循环迭代,但是如果你想从后往前实现循环迭代呢?如果使用 C 语言,你得 先设置四件事情:一个索引,一个起始值,一个结束条件和一个递增变量。这种方式不好,  出处:站长百科   原文地址:/wiki/Ruby‐代码块.迭代器   本电子书整理自站长百科 Ruby‐代码块.迭代器词条,查看内容请访问网站。  本电子书由站长百科()教程组制作 因为它暴露了列表的内部实现方法,我们希望能够隐藏内部逻辑,通过使用 Block 我们可 以将内部循环迭代的方式隐藏在一个方法或者函数中。比如,调用list.reverse_each,你可以 对一个列表实现一个反向的循环迭代,而不需要知道列表内

文档评论(0)

1亿VIP精品文档

相关文档