2012-07-03 6 views
0

Я пытаюсь использовать свой varialbe во всех файлах моей программы. Это пример того, что я делаю.Как использовать переменную в другом файле на ruby ​​в rails?

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 

Я действительно надеюсь, что для сообщества достаточно ясно, любая помощь будет оценена, спасибо!

ответ

2

Вы хотите глобальную переменную или константу. Вы можете создать свой собственный, но Ruby удобно поставляется с встроенной глобальной переменной $DEBUG. Когда вы укажете опцию -d на ruby, $DEBUG будет true, и в противном случае false.

Если классы находятся в нескольких файлах, поместить это в файл, который включает в себя другие:

DEBUG=$DEBUG 

И в других файлах, используйте DEBUG для отладки, а не $DEBUG.

+0

Я хочу глобальную переменную, но в другом файле она не работает - « –

+0

@TakezoShinmen: они находятся в разных файлах? т. – Linuxios

+0

Это не работает :( –

1

Вы можете создать метод получения, чтобы получить class_variable

def self.get_debug 
    @@debug 
end 

рельсов, однако предоставляет метод cattr_accessor http://apidock.com/rails/Class/cattr_accessor Это позволит вам установить и получить переменный класс вне класса

т.е. Class1.debug = false

+0

, я пробовал, но у меня есть неограниченный метод: s –

Смежные вопросы