Project1

标题: 话说为什么某些Ruby内部函数在xp中无效?版本问题? [打印本页]

作者: px.凤翔九天    时间: 2010-12-20 23:45
标题: 话说为什么某些Ruby内部函数在xp中无效?版本问题?
本帖最后由 px.凤翔九天 于 2010-12-20 23:45 编辑

话说我想找一个删除目录的写法,找了我的书发现了如下写法:
  1. require "fileutils"
  2. FileUtils.rm_r(  )
复制代码
结果直接拿到xp中用,报错说什么没有这个函数...
我又到f1中找了一遍都有什么函数,结果发现怎么就那个几个啊....觉得书上的内部函数用的很多啊...难道xp都要指望API什么的搞定这些没有自带的函数吗?还是xp中的Ruby版本太低...(记得是1.8.1,不是很低啊...)

附:删除文件夹的写法后来找到了:
http://rpg.blue/forum.php?mod=vi ... =%E5%88%A0%E9%99%A4
作者: 苏小脉    时间: 2010-12-21 02:59
RGSS 中直接可用的是内置库和一些预先包含的标准库,像 Win32API 和 Zlib。除此之外的标准库,大多是以 C 共享库的形式提供的(即 Ruby 的 C 扩展),并可以在运行时通过 require 包含到当前的 Ruby 实例中。然而 RGSS 仅仅是嵌入了一个 Ruby 解释器,它缺少用于扩展 Ruby 的一些函数(没有从 RGSS10*J.dll 导出),所以写外部的扩展库的条件默认并不满足。所以大家就猜测 RM 对 require 加载共享库的部分进行了特殊处理,让它只能加载 Ruby 脚本。
夏娜有过这样一个工程,手动去把需要的函数都从 RGSS10*J.dll 导出,但似乎并未百分百完成,可参考。
如果你只是在学习 Ruby,且需要和标准库的东西打交道的话,那就不要和 RM 较劲了。你可以从官网下一份预编译好的 Ruby 二进制文件,甚至自己编译一份,享受完全自由的 Ruby。
作者: px.凤翔九天    时间: 2010-12-21 20:28
回复 苏小脉 的帖子

恩恩,Rm的功能限制不适合完整地学习Ruby,但是没什么大问题,话说我这个业余选手就是为了Rm自学的Ruby(正在学...)估计以后内部库缺失的话Rm实现某些功能又要指望API什么的了....require这么好用的东东...唉。话说我应该下个正常的Ruby了。用RM来学Ruby终究不是办法。但是,不管怎么说,游戏的改良工作可以搞定就好了^0^,我又不是什么程序员..其他的问题估计问问像你这样的高手们就好了^0^ rb什么的貌似不是很难写。抽空试试。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1