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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 惊天动地
打印 上一主题 下一主题

[已经解决] 为何一呼叫存档 就卡死?

 关闭 [复制链接]

Lv4.逐梦者

梦石
0
星屑
6865
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

11
发表于 2009-12-3 18:49:41 | 只看该作者
本帖最后由 后知后觉 于 2009-12-3 18:50 编辑

楼主你按过F12了吧,按了后进入存档画面就卡死

把下面这一行放在脚本编辑器的最最最顶部
不管你以后再增加了什么脚本都要保证这一行在最最最顶部
  1. $__jump__.call if $__jump__
复制代码
然后把下面这一行放在Main脚本内的最顶部
  1. callcc{|$__jump__|}
复制代码
如果这样没用的话.或者不是因为这个情况的话.那就只有上传工程了











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
12
发表于 2009-12-3 18:54:11 | 只看该作者
楼主你按过F12了吧,按了后进入存档画面就卡死

把下面这一行放在脚本编辑器的最最最顶部
不管你以后再增加了什么脚本都要保证这一行在最最最顶部$__jump__.call if $__jump__然后把下面这一行放在Main脚本内的最顶 ...
后知后觉 发表于 2009-12-3 18:49

你那个脚本加密也有这句,虽然看不懂什么意思。。。。
callcc{|$__jump__|}???
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6865
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

13
发表于 2009-12-3 19:21:13 | 只看该作者
12# 奶油Da蛋糕


就是相当于脚本的跳转这样的功能
Continuation
调用内部函数 callcc{ |cont| ... }时,它会将此前的状态(局部变量的定义、栈框架)保存到cont中然后执行块。cont是Continuation类的实例,使用Continuation#call 方法就可以随时调出保存的状态然后继续运行。

熟悉C语言的setjmp()/longjmp()的人可以把它想成

setjmp() == callcc {|c| }
longjmp() == c.call

这样或许就好理解了(但有一点不同,当栈朝向纵深发展时,callcc也可以跳转到那里)。

callcc()返回块的返回值,但Continuation#call(args)返回args。

例:
下例是由Continuation构成的无限循环

def LOOP
  c = nil
  yield callcc {|c| true}
  c.call(false)
end

LOOP {|v| p v}

=> true
   false
   false
   false
     :
     :

callcc是call-with-current-continuation的缩写形式。

超类:Object
方法:self[ret[,ret2[,...]]] ((<ruby 1.8 特性>))
call(ret[,ret2[,...]])
在self所保存的状态的基础上继续运行。参数将原封不动地变为callcc的返回值。


--------------------------------------------------------------------------------

原文由 webmaster[at]ruby-lang.org 所著
稀亿网络软件(北京)进行翻译
我们在寻找热爱Ruby的技术人员和日语人才!
最后更新:2006-10-23











你知道得太多了

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-26 09:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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