-1

我正在使用 Netbeans 在 Ruby 中编程,我似乎无法访问我从 Ruby 中的主类编写的其他类,直到我将该代码放在主类本身中。有没有办法解决这个问题,使它像 Java 类一样工作?

4

2 回答 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 回答