灵光

用Ruby开发总是令人赏心悦目的,它语法中无处不存在灵光一闪,让人很有一种乐趣。

迭代器的block,这是挺有意思的地方。

1  anArray.each do  | ele |
2    p ele
3  end

这个不用介绍了吧,这是基础,这样的基础能衍生出下面的东西出来:

1  def  method1(arg,  & block)
2    arg.each do  | a |
3       yield (a)  if  block
4    end
5  end
6 
7  method1 [ 1 , 2 , 3 ] do  | b |
8    p b
9  end

上述玩意有什么效果?嗯,看官自己去试吧,讲解很费力。

在《The Ruby Way》介绍了另外的一种方法来调用Block:

1  def method2(x ,   & y)
2    instance_eval  & if  y
3    p x
4  end
5 
6  method2( 2 ) { p  1  }

有人可能会觉得这玩意有什么用呢?主要是最近又在翻Ruby Agile Web Development,看到那个redirect的教程,可以传错误信息的那个方法。记得早前有几个朋友问过,Ruby的传参数如何诡异。。。。关于这个方法,调试了好多次,但传参数的模式总不合理。现在好了吧,用block,在跳转之前执行block的命令,你要干啥就干啥。这比之Javascript将一个function作为参数调用,又高明了许多。

转载于:https://www.cnblogs.com/janpoem/archive/2008/02/18/1071818.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.版本 2 .如果真 (ItemID = 3020164) item.Name = “[特魂]召雷术” item.Color = Color_4 返回 (item) .如果真结束 .如果真 (ItemID = 3020079) item.Name = “[特魂]毕工淌” item.Color = Color_4 返回 (item) .如果真结束 .如果真 (ItemID = 3020116) item.Name = “[特魂]魂燃一线” item.Color = Color_4 返回 (item) .如果真结束 .如果真 (ItemID = 3020124) item.Name = “[特魂]抽芯补天” item.Color = Color_4 返回 (item) .如果真结束 .如果真 (ItemID = 3020156) item.Name = “[特魂]续命术” item.Color = Color_4 返回 (item) .如果真结束 .如果真 (ItemID = 3020151) item.Name = “[特魂]灵光一现” item.Color = Color_4 返回 (item) .如果真结束 .如果真 (ItemID = 3020150) item.Name = “[特魂]万夫莫敌·0重” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020157) item.Name = “[特魂]炼丹术·0重” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020131) item.Name = “[特魂]吐纳术” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020114) item.Name = “[特魂]天赐·安神” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020072) item.Name = “[特魂]地堂霸脚” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020073) item.Name = “[特魂]凌波” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020074) item.Name = “[特魂]完璧” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020075) item.Name = “[特魂]光佑” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020076) item.Name = “[特魂]壁虎游墙” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020077) item.Name = “[特魂]猫足” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020078) item.Name = “[特魂]虚影步” item.Color = Color_3 返回 (item) .如果真结束 .如果真 (ItemID = 3020155) item.Name = “[特魂]吸星术” item.Color = Color_3 返回 (item)翻译成c++源码
05-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值