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

Project1

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

[讨论] 如何实现在沙盒中运行Ruby脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
跳转到指定楼层
1
发表于 2015-7-9 17:26:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
对于require进来的脚本用什么办法可是让其在沙盒里运行QAQ
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-7-9 17:38:42 | 只看该作者
要在沙盒里运行说明这里根本不该使用 require。
可以使用 load,并把第二个参数设为 true(参考 Ruby 文档)

评分

参与人数 1星屑 +100 收起 理由
恐惧剑刃 + 100 .

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
3
 楼主| 发表于 2015-7-9 18:01:29 | 只看该作者
taroxd 发表于 2015-7-9 17:38
要在沙盒里运行说明这里根本不该使用 require。
可以使用 load,并把第二个参数设为 true(参考 Ruby 文档 ...
若可选参数priv的值为真,则在内部生成一个无名模块作为顶层来进行加载和运行,这便不会污染全局名字空间了.

插到了这么一句,但还是不太理解,如果生成一个无名顶层模块的话,那怎么和已有的部分进行数据交换?看样子命名空间是独立那怎么访问里面的变量之类的QAQ
还有include、load、require三者的区别是什么(主要是include和其他两个的区别)?我看到太古的有个部分是用的include,这又是为什么呢?

点评

沙盒还交换啥数据啊 = = 那三个的区别自己翻文档去,最好是英文的官方文档(VA区置顶的F1就有一个)  发表于 2015-7-9 18:38
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

4
发表于 2015-7-13 20:49:13 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
5
 楼主| 发表于 2015-7-14 23:01:27 | 只看该作者
晴兰 发表于 2015-7-13 20:49
看你的目的是啥,可能你要的是语法检查那就有特殊trick

目的是实现MOD。。。不想搞dsl所以打算直接requireruby的脚本。。。。因为出错就会退出,希望能像饥荒一样,出错会关闭MOD然后重载游戏。另外还希望能和饥荒一样,mod里的脚本会覆盖原有的同名的module/class之类的
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

6
发表于 2015-7-15 09:33:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
7
 楼主| 发表于 2015-7-15 11:25:13 | 只看该作者
晴兰 发表于 2015-7-15 09:33
自写一个require,处理一下出错的问题,其他的沿用原本的require就行。module/class的默认行为是猴补=mon ...

我在想用ensure或rescue捕获异常是不是就可以。。。

点评

还不如写个dsl算了...  发表于 2015-7-15 19:20
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 09:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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