use*_*154 38 ruby module class
有一段时间我一直在Ruby模块中包含一个完整的类.显然这不是我应该做的.似乎模块的要点是存储函数,然后可以将这些函数作为方法包含在新类中.
我不想要这个.我有一个类,我想保存在一个单独的文件中,我可以从其他文件访问.我怎样才能做到这一点?
谢谢.
Ben*_*hes 62
模块作为函数的持有者和命名空间用于双重目的.将模块保存在模块中是完全可以接受的.要将一个类放在一个单独的文件中,只需像往常一样定义该类,然后在您希望使用该类的文件中,只需将其放在require 'name_of_file_with_class'顶部即可.举例来说,如果我定义的类Foo中foo.rb,在bar.rb我将不得不行require 'foo'.
如果您使用的是Rails,这种情况通常会自动发生
编辑:澄清文件布局
#file: foo.rb
class Foo
def initialize
puts "foo"
end
end
Run Code Online (Sandbox Code Playgroud)
...
#file: bar.rb
require 'foo'
Foo.new
Run Code Online (Sandbox Code Playgroud)
如果您在Rails中,请将这些类放入lib/并使用类名称的小写下划线版本文件的命名约定,例如Foo- > foo.rb,FooBar- > foo_bar.rb等.
从Ruby版本1.9开始,您可以使用require_relative相对于您正在编辑的文件来要求文件.
| 归档时间: |
|
| 查看次数: |
62914 次 |
| 最近记录: |