赞 | 0 |
VIP | 6 |
好人卡 | 0 |
积分 | 1 |
经验 | 999 |
最后登录 | 2014-10-2 |
在线时间 | 54 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 54 小时
- 注册时间
- 2008-5-12
- 帖子
- 129
|
其實Proc.new這個東西置頂帖就有介紹Orz
實際上,Proc就是一個臨時的方法,類似于def ... end。關鍵在于這個方法實例化了,可以儲存在一個變量當中。最大的作用就是可以用同一個名字指向不同的方法,或者在方法當中定義方法,比如:
a = Proc.new{p 1}
b = Proc.new{p 2}
c = 1
case c
when 1
d = a
when 2
d = c
end
d.call
def e
@f = Proc.new{p "I am Proc"}
end
看的時候,把Proc前面的變量看作方法名,{}之間看成方法過程,||之間看成參數就可以了。
比如:
@m = Proc.new{|a,b,c| p a+b+c}
=>
def m(a,b,c)
p a+b+c
end
以上兩者幾乎是一樣的。 版主对此帖的评论:『楼主说会回来认可你的答案,请稍等一会儿...』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|