2010-02-15 6 views
1

이 변수는 무엇입니까?구문 질문

Class User 
    TOTO = 1 
    TITI = 2 
end 

User::TOTO # 1 
User::TITI # 2 

doc에 대한 링크가 있습니까? 감사,

답변

9

TOTOTITI은 각각 User 클래스의 값이 1과 2 인 상수로 정의됩니다.

그냥 TOTOTITI

로를 참조하지만 사용자 클래스 외부에서 이러한 상수에 액세스하려면 다음과 같이 클래스 이름을 사용할 필요하여 사용자 클래스 자체 내에서 이러한 상수에 액세스 할 수 있습니다

당신이하고있는 것입니다. 즉, User::TOTOUser:TITI

여기는 little tutorial on the constants입니다.

2

Class은 소문자 여야합니다.

class User 
    TOTO = 1 
    TITI = 2 
end 

User::TOTO # 1 
User::TITI # 2 

User, TOTOTITIUser 클래스를 참조하고, TOTOTITI 모두 해당 클래스의 네임 스페이스와 모두 참조 정수 내부에 저장되는로, 모든 상수이다.

루비에는 여러 가지 유형의 변수가 있으며, 모두 시작 문자로 식별됩니다.

  • 지역 변수는 소문자로 시작하고 처음에 정의 된 범위 내에서만 액세스 할 수 있습니다.
  • 상수는 대문자로 시작하고, 내부와 네임 스페이스 (클래스 또는 모듈을 통해 액세스 할 수 있습니다) 그들은에 정의되어있다.
  • 인스턴스 변수는 하나의 @ 기호로 시작하고, 액세스 self
  • 클래스 변수는 @@로 시작 어 인스턴스 변수가 (일반적으로) 인스턴스 메소드 내에서 정의 된 인스턴스로 평가 때마다 서명하고, ac 첫 번째 클래스를 정의한 클래스 또는 하위 클래스 중 하나 또는 그 인스턴스 중 하나가 될 때마다