设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 847|回复: 2
打印 上一主题 下一主题

Proc.new是什么类

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

七仙女

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-15
帖子
559
跳转到指定楼层
1
发表于 2009-3-26 07:18:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv1.梦旅人

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
帖子
1361

贵宾

2
发表于 2009-3-26 07:55:00 | 只看该作者
可以说是一个执行对象吧...

就比如
$i = 0
a = Proc.new{|int| $i = int }
p $i # 0
a.call(100)
p $i # 100
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
-.-
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
3
发表于 2009-3-26 08:08:55 | 只看该作者
Proc 就是代码块的对象,它能绑定一组局部变量,使得这些变量即使在不同的上下文(作用域)中也能访问,而普通情况下局部变量仅在当前作用域中才是可以访问的
这也是 Ruby 的代码块和其它语言不同的地方,Ruby 的代码块把这段代码及其相关的上下文信息保存下来,以便日后调用,而不是像其它语言一样直接执行
保存在 Proc 中的代码可以稍后调用 call 来执行,而 call 的参数就会传递给代码块中被 "| |" 包围的变量
版主对此帖的认可:『正确答案,感谢你的热心帮助』,积分『+100』。
版主对此帖的认可:『补足正确解答所该得到的积分,感激你的热情帮助...』,积分『+250』。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-16 17:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表