这些变量是什么?
Class User
TOTO = 1
TITI = 2
end
User::TOTO # 1
User::TITI # 2
任何指向该文档的链接? 谢谢,
答案 0 :(得分:9)
TOTO
和TITI
被定义为User类中分别为值1和2的常量。
您可以在用户类本身中访问这些常量,只需将其引用为TOTO
和TITI
但是如果你想从用户类之外访问这些常量,那么你必须使用类名,这就是我猜你正在做的事情,即User::TOTO
和User:TITI
答案 1 :(得分:2)
Class
应为小写,一个。
class User
TOTO = 1
TITI = 2
end
User::TOTO # 1
User::TITI # 2
User
,TOTO
和TITI
都是常量,User
引用了一个类,TOTO
和TITI
都存储在内部该类的命名空间和引用整数。
在ruby中,你有几种类型的变量,都是由起始字符识别的。
@
符号开头,只要self
计算到定义了eh实例变量的实例(通常在实例方法中),就可以访问它们@@
符号开头,并且只要在首先定义它们的类或其任何子类或其任何实例中,就可以访问它。