查看: 2265|回复: 5

[通用发布] def+/+def/+def+的语法糖

[复制链接]
头像被屏蔽
梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
回帖
1577

开拓者

发表于 2014-1-27 21:36:54 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

发表于 2014-1-31 14:31:44 | 显示全部楼层
插入到所有用到这个特性的脚本之前

一开始我以为你要污染eval……

如果原方法带区块 新的过程需要带另一个区块 除了Proc应该没有其他方法了吧【作死
萌新瑟瑟发抖
看到我请叫我去干活
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
回帖
1577

开拓者

 楼主| 发表于 2014-1-31 20:03:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

发表于 2014-1-31 20:23:51 | 显示全部楼层
晴兰 发表于 2014-1-31 20:03
$RGSS_SCRIPTS[?][3]的这个办法。。本来我就是想污染eval的。。但因为(污染eval)这段脚本本身就在被eval ...

例子,已有方法:
[pre lang="ruby" line="1"]def met *arg, &block
  yield arg[0], arg[1]
end[/pre]
然后我想实现这样的效果[pre lang="ruby" line="1"]alias :old_met :met
def met *arg, &block
  old_met *arg[0, 2] {|a, b| puts a - b}
  yield arg[2], arg[3]
end

# 调用
met(1,2,3,4) {|a, b| puts a + b}

#=> -1,7[/pre]
现在 请支持在调用的时候同时定义两个区块的行为 不要用Proc Proc我也会【作死

点评

对 p 1然后p 3,我去修正下  发表于 2014-1-31 23:29
萌新瑟瑟发抖
看到我请叫我去干活
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
回帖
1577

开拓者

 楼主| 发表于 2014-1-31 20:42:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-1-31 21:03:39 | 显示全部楼层
本帖最后由 taroxd 于 2014-7-20 08:21 编辑

直接修改脚本的字符啊,赞一个,不过我还是用我自己的吧~

简直太触
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部