首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

懂得Ruby中block的本质

2012-10-09 
理解Ruby中block的本质Ruby非常特色的特性有两点:Module 优雅地解决多继承问题Block 块调用虽然这两个特性

理解Ruby中block的本质
Ruby非常特色的特性有两点:
Module 优雅地解决多继承问题Block 块调用
虽然这两个特性均不是Ruby原创,但显然是它将这两个特性发挥到很恰到好处,害的最近的C#也在改进支持它们.

然而,正是这两个特性,使得RubyBeginner经常迷惑不解.这也是我在学习过程中经常会遇到的问题,我想就将Block解牛的过程列出来,也算是对自己的过程作一个记录吧.

前言
在Ruby,所谓的"Block"有多种,而Block在计算机科学理论中被称为"过程",(哇,就是当年研究Pascal中的关键字closures)" , Block在Ruby中有几种称谓,Blocks, Procs 和 lambdas. 其中表现行为上具有些许不同,也是造成Rubyers误解的直接原因.
没办法,ruby设计哲学之一就是,与现实世界类似,一个问题可以有几种不同的方法解决.
那么,为了更少的编码,为了更"RubyLike"的编码,我们开始吧.

开始
1. 它应该是什么?
(如果你还没弄清楚Block是怎么回事,建议回去啃RubyProgramming第二版那本镐书先)
我们先从一个需求开始,
我们看一个例子,数组支持排序,供我们使用.
那么看一下用法:

     2 楼    jonson_hhb    2012-05-26              Good, 3ks for your job ! 

热点排行