Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby的etc模块文件在哪里,可以自定义吗?_Ruby - Fatal编程技术网

Ruby的etc模块文件在哪里,可以自定义吗?

Ruby的etc模块文件在哪里,可以自定义吗?,ruby,Ruby,Etc模块非常好,但如果我使用NIS或LDAP,其中passwd、group和shadow不是来自/Etc/{passwd、group、shadow},那么Etc模块将不会有帮助 是否可以编辑Etc模块路径的/Etc/{passwd,group,shadow} 在我的Linux机器上,我已经进入了/usr/lib/ruby/1.8,有一些模块,但不能完善etc.rb或相关模块 非常感谢一般来说,您可以使用 SomeClass.method(:foo).source_location 找出在哪里

Etc模块非常好,但如果我使用NIS或LDAP,其中passwd、group和shadow不是来自/Etc/{passwd、group、shadow},那么Etc模块将不会有帮助

是否可以编辑Etc模块路径的/Etc/{passwd,group,shadow}

在我的Linux机器上,我已经进入了/usr/lib/ruby/1.8,有一些模块,但不能完善etc.rb或相关模块


非常感谢一般来说,您可以使用

SomeClass.method(:foo).source_location
找出在哪里(磁盘上)定义了一个方法。我认为这在ruby 1.8中不可用,但即使是这样,结果也是零,因为这些方法是用C实现的。ruby 1.9实现就是一个例子。在/usr/lib/ruby/1.8中的某个地方应该有一个etc.so(在linux上或在OSX上的etc.bundle等等)


这并不意味着您不能覆盖该方法,但它确实意味着您不能像使用普通.rb文件那样编辑源代码(之后您必须重新编译扩展名并将其移动到正确的位置,这取决于系统)

感谢您的确认。我在/usr/lib64/ruby/1.8/x86_64-linux/中找到了etc.so。这是一个二进制文件。