【发布时间】:2014-01-16 12:49:18
【问题描述】:
我正在使用 Ruby 2.0,我有两个文件:hello.rb 和 assets/display.rb。
hello.rb:
class Hello
def self.run_it(name)
ui = Display.new(name)
ui.say_hi
end
end
require_relative "assets/display"
Hello.run_it("Someone")
assets/display.rb:
class Hello::Display
def initialize(name = "World")
@name = name
end
def say_hi
puts "Hello #{@name}"
end
end
如果在 hello.rb 中我将 require_relative "assets/display" 移动到 class Hello(第一行)之前,ruby hello.rb 会输出 uninitialized constant 错误。这是为什么?需要外部文件时的最佳做法是什么?在这个简短的示例中,require_relative 是正确的方法(与 require 和 require "./some_file" 相比)?
【问题讨论】:
-
你必须向我们展示你拥有的文件系统..
-
@ArupRakshit 谢谢,但在这种特殊情况下,这是无关紧要的。