我正在使用 Netbeans 在 Ruby 中编程,我似乎无法访问我从 Ruby 中的主类编写的其他类,直到我将该代码放在主类本身中。有没有办法解决这个问题,使它像 Java 类一样工作?
问问题
72 次
2 回答
1
如果我理解正确,您正在寻找import
您在单独文件中写入当前文件的类。如果这是您要执行的操作,请查看require_relative
# cow.rb
class Cow
def moo
'Moooooooo'
end
end
# main.rb
require_relative 'cow.rb'
milford = Cow.new
puts milford.moo #=> 'Moooooooo'
需要注意的是require_relative
在您调用它的文件的当前位置搜索文件。例如:
# If cow.rb is in folder 'animals'
require_relative 'animals/cow.rb' #=> Fine
require_relative 'cow.rb' #=> LoadError
我建议找一些关于 Ruby 的好教程或找一本初学者的书。其中一些甚至可以在线获得,例如Programming Ruby The Pragmatic Programmer's Guide。这个问题涵盖了一些非常基本的 Ruby 概念。
另外,我不建议使用 Netbeans,因为他们切断了对 Ruby 的支持。如果您想继续使用旧版本的 Netbeans,这很好,但您很快就会发现它缺乏对新 Ruby 版本的支持。
于 2013-05-07T22:50:07.347 回答
0
一方面,Ruby 没有“包”的概念。有文件和模块。要从同一目录中的文件导入所有全局变量、常量、模块和类,请键入:
require_relative "myfile.rb"
您现在可以使用myfile.rb
代码中定义的任何类、模块、常量和全局变量。
于 2013-05-07T22:50:27.297 回答