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

Project1

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

[原创发布] 【更新】提高游戏运行速度_v1.01

[复制链接]

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
1
发表于 2011-4-23 09:33:36 | 显示全部楼层
一箭烂YiJL 发表于 2011-4-22 17:45
回复 IamI 的帖子

class

解决 F12:
http://szsu.wordpress.com/2010/09/07/continuation/
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
2
发表于 2011-4-23 10:57:06 | 显示全部楼层
一箭烂YiJL 发表于 2011-4-23 10:46
回复 苏小脉 的帖子

试过了,的确能够解决F12的函数问题(包括module的method)。

原理是记录 Main 脚本之前的堆栈环境,F12 回到开头的时候直接全局跳转到记录点。中间写的东西 F12 之后不会执行第二次,所以希望 F12 后重新执行的内容得放在 callcc 的调用下面。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
3
发表于 2011-4-24 01:53:00 | 显示全部楼层
一箭烂YiJL 发表于 2011-4-23 17:49
回复 苏小脉 的帖子

也就是要在函数中赋值。 alias放上,原版更上?但原版是函数外赋值的话,就麻烦了。

什么“函数中赋值”?不解。

我在那篇文章中写道把 callcc 放在 Main 脚本开头是因为考虑到 Main 脚本之前都有可能发生 alias 的问题,如果你确信某段脚本没有 alias 的问题,然后希望 F12 后重新执行,就把 callcc 的调用提前到该脚本执行前就行了。如果有不连贯的情况,比如前一段需要重新执行,而后一段又会有 alias 的问题,那可以连续设两个 Continuation 跳转点。

判断 method_defined? 可以解决问题,但不是所有写脚本的人都有这个习惯,要是需要去兼容没有这个判断的,同时又使用了大量 alias 的脚本,就要大费周章了。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
4
发表于 2011-4-24 11:49:35 | 显示全部楼层
回复 一箭烂YiJL 的帖子
“函数中赋值”意思是要在函数中定义变量的值
抱歉,我还是没跟上,这个和我们之前讨论的有什么联系?

还要自设跳转点啊...那么alias那些就要跟函数外定义变量的模块都要拆开?

不用啊,为什么?那篇文章里面给的例子就是在 Main 的开头设立了一个跳转点,我的意思是需要的话可以在不同的地方设立多个,这样可以控制 F12 之后哪段执行,哪段跳过。

我指的"下手"是在method、alias、alias_method......这些函数内部下手,
让method_defined?为false的时候才工作。(但是这似乎是不可能的)

只要是 Ruby 的方法就可以钩住,但是语法糖 alias 不行,因为它直接调用底层的 alias 实现了。当然,可以扩展 Ruby。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
5
发表于 2011-4-25 02:50:23 | 显示全部楼层
一箭烂YiJL 发表于 2011-4-24 21:45
回复 苏小脉 的帖子

哈,劣兄愚钝,压根没想到。一箭老弟果然思绪缜密~

点评

不~苏比咱厉害多了, 以后还有不少问题要请教呢 !  发表于 2011-4-25 12:01
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 23:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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