无聊发现的Proc的妙用=w=
于是我就不解释proc是啥了之类的=-=于是我们在数组里面一般更新一堆Sprite都是:
@sprites.each{|spt| spt.update}
于是发现symbol的to_proc方法很有趣,让我们可以:
@sprites.each(&:update)
真的是好有爱啊~{:nm04:} 还以为是proc文件夹里的东西。 还以为是Proc这个单词能发挥很大作用。
然后刚刚发现LZ半抄袭了我的头像= = 沃槽还能这么写,一直都是for总觉得我呆透了 本帖最后由 orzfly 于 2013-5-19 21:49 编辑
http://bbs.moe9th.com/thread-13-1-1.html
http://bbs.moe9th.com/thread-12-1-1.html 本帖最后由 Ruby200 于 2013-5-23 07:17 编辑
自定义to_proc的class也可以啊~
class It
def initialize
@expr = []
end
def method_missing(sym, *args)
@expr.push()
self
end
def to_proc
expr = @expr
lambda{|*a|
expr.each{|x|
i = 0
u = x.map{|y| It === y ? a : y }
a = a.map{|x| x.send(*u)} # lift up
}
a.first #
}
end
end
def it() It.new end
p .map(&it * 2)
p .inject(&it * it) #p .inject &(it * it)也行
页:
[1]