每当我在不同的ruby文件中加载ruby类文件时,它就会执行正在导入的类文件。此类文件当前实例化并在类定义之外调用方法。有没有办法阻止导入的文件执行?当我运行单元测试时也会发生这种情况。我尝试了以下方法:
load 'file.rb'
require_relative 'file'
require "./file.rb"
谢谢。
这是我在课程文件中的内容(我尝试导入):
class Nim
#some stuff
end
nim = Nim.new(Player.new)
nim.start_game
nim.configBoard
答案 0 :(得分:4)
您可以更改文件,如下所示:
class Nim
# some stuff
end
if __FILE__ == $0
nim = Nim.new(Player.new)
nim.start_game
nim.configBoard
end
如果文件作为脚本运行而不是作为库加载,这将只执行那些方法调用。