Project1
标题:
Define a method of dump in Proc class(Ruby)
[打印本页]
作者:
fux2
时间:
2011-7-30 23:31
标题:
Define a method of dump in Proc class(Ruby)
本帖最后由 忧雪の伤 于 2012-1-24 19:14 编辑
标题
给
Proc
类提供
dump
接口。
描述
具各位所知
Proc, Thread, IO (File, Socket ...), Continuation, Method
类都是无法被
dump
的。
但是如果想制作对话中存档就要用到它。($game_message.main_proc)
line display
作者:
一箭烂YiJL
时间:
2012-1-9 21:13
显然是不可能的 dump,重点是作用于该实例区域,实例释放,Proc 实例也随之消失。但是 dump 后就可以被 load,对于别的 Ruby 脚本根本不可能 load 进 $game_message.main_proc(/choice_proc),甚至那些没有 $game_message。
如果考虑 eval 的话,有两个问题:
1.实例的区域(作用域)
2.参数
eval 参数 2 binding 可以说是那个实例区域的"身份位置",但 binding 也不能 dump 。
fux2 想实时储存吧...
如果纯粹对于 $game_message 的两个 proc ,可以这样吧。
在每次 proc = Proc.new 的时候用:
$game_message.proc = "Proc.new{|xx|xx}"
call 的时候用:
$game_message.real_proc = eval($game_message.proc)
$game_message.real_proc.call(arg)
$game_message.real_proc = nil
不知道会否影响效率呢?
(其实我是刚刚被忧雪邀请进来的,似乎这里只活跃于 30~31/7)
作者:
yangff
时间:
2012-1-17 21:40
hack解释器
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1