Project1

标题: def+/+def/+def+的语法糖 [打印本页]

作者: 晴兰    时间: 2014-1-27 21:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 余烬之中    时间: 2014-1-31 14:31
插入到所有用到这个特性的脚本之前

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

如果原方法带区块 新的过程需要带另一个区块 除了Proc应该没有其他方法了吧【作死
作者: 晴兰    时间: 2014-1-31 20:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 余烬之中    时间: 2014-1-31 20:23
晴兰 发表于 2014-1-31 20:03
$RGSS_SCRIPTS[?][3]的这个办法。。本来我就是想污染eval的。。但因为(污染eval)这段脚本本身就在被eval ...

例子,已有方法:
RUBY 代码复制
  1. def met *arg, &block
  2.   yield arg[0], arg[1]
  3. end

然后我想实现这样的效果
RUBY 代码复制
  1. alias :old_met :met
  2. def met *arg, &block
  3.   old_met *arg[0, 2] {|a, b| puts a - b}
  4.   yield arg[2], arg[3]
  5. end
  6.  
  7. # 调用
  8. met(1,2,3,4) {|a, b| puts a + b}
  9.  
  10. #=> -1,7

现在 请支持在调用的时候同时定义两个区块的行为 不要用Proc Proc我也会【作死
作者: 晴兰    时间: 2014-1-31 20:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: taroxd    时间: 2014-1-31 21:03
本帖最后由 taroxd 于 2014-7-20 08:21 编辑

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

简直太触




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1