在rebol中对sandbox环境进行编程有点像spoon.net

时间:2010-08-14 19:23:06

标签: rebol

http://spoon.net让您通过从网上下载来执行桌面应用程序。退出时,它会恢复系统。

http://askpoweruser.com我想做同样的事情。我的想法是将整个系统层次结构保留在磁盘上,然后在执行结束时将其恢复。

单行代码是否足够(对于如此复杂的功能来说似乎太容易了,这就是我怀疑的原因:)):

save %system.txt system

什么是序列化细化?那个案子会有用吗?

恢复系统然后我会做

load %system.txt

3 个答案:

答案 0 :(得分:1)

您目前无法像这样保存整个Rebol图像。您可以使用'mold / all序列化Rebol值并使用'save保存值。但是AFAIK序列化没有正确保存对象内的函数。

答案 1 :(得分:1)

您可以使用类似CryoPID的内容:

http://cryopid.berlios.de/

这可以在流程级别工作,你可以将它用于Rebol以外的东西。但它将是特定于操作系统的。

答案 2 :(得分:1)

这是我的目标:

>> o: context [b: "b" f: does [do make function! [] [print ["a"]]] oo: context [a: 1]]
>> ?? o
== o: make object! [
    b: "b"
    f: func [][do make function! [] [print ["a"]]]
    oo: make object! [
        a: 1
    ]
]

更改函数f中的内容:

>> o/oo/a: 2
>> append second last second first next next next third :o "b"
>> o/f
== a b
>> save/all %t.r :o
>> p: load %t.r
>> ?? p
== p: make object! [
    b: "b"
    f: func [][do make function! [] [print ["a" "b"]]] ;<----
    oo: make object! [
        a: 2              ;<------
    ]
]
>> p/f
== a b ;<----

它看起来一切正常。但当然这只是一次测试。