我正在尝试在我的程序的所有文件中使用我的varialbe。 这是我要做的事情的例子。
main.rb
Class1
def self.test1
puts "class 1" if @@debug
end
end
@@ debug = true
class.test1
class.test2
class2.rb
Class2
def self.test2
puts "test2" if @@debug
end
end
我真的希望社区足够清楚,任何帮助都会受到赞赏,谢谢!
答案 0 :(得分:2)
您需要全局变量或常量。您可以创建自己的,但Ruby方便地带有内置$DEBUG
全局变量。当您为-d
指定ruby
选项时,$DEBUG
将为true
,否则为false
。
如果这些类在多个文件中,请将其放在包含其他文件的文件中:
DEBUG=$DEBUG
在其他文件中,使用DEBUG
进行调试,而不是$DEBUG
。
答案 1 :(得分:1)
您可以创建一个getter方法来获取class_variable
def self.get_debug
@@debug
end
然而,rails提供了一种名为cattr_accessor的方法 http://apidock.com/rails/Class/cattr_accessor 这将允许您在类
之外设置和获取类变量即。 Class1.debug = false