您需要 登录 才可以下载或查看,没有账号?注册会员
使用道具 举报
寒
铅笔描绘的思念 发表于 2014-4-12 16:43 Proc的话 就是拿来存储代码供稍后调用。。 官方文档 是ruby1.9.3之后支持看出输出的信息其实就相当于执行 ...
如果没有使用instance_eval,如下面的代码,ruby就会抛出一个NoMethodError,因为source、owner、mode无法在block中被访问到。 [pre lang="ruby" line="1"] class TemplateDSL def initialize(path, &block) @path = path block.call end end[/pre]当然也可以使用yeild传递变量的方式实现,但没有instance_eval简洁和灵活。
查看全部评分
寒冷魔王 发表于 2014-11-8 06:05 Proc.new{&block} Thread.new{&block} 貌似{&block}里的被传递过来都成为Proc呢?def pp(&block)
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
献给最先抵达这片土地的你。参加预注册的用户即可获得。
Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.