2009-12-12 4 views
1

나는 내가 가진 레일의 버전을 찾는 방법을 알고?상수 : 레일 :: VERSION : STRING

> Rails::VERSION::STRING 
> "2.3.2" 
  • 누군가의 고장/레일 :: VERSION를 설명 할 수 : STRING을 "나를 위해를
  • 첫 번째 부분은 "레일"무엇
  • ?
  • 이 (가) "::"/ 무슨 뜻입니까?
  • 이 글로벌 상수인가?
  • 방법 "RUBY_VERSION?"(건설,하지에서이 다르다 의미 . ie ":"없음)
  • 어떻게 모든 글로벌 상수를 나열/찾을 수 있습니까?

감사합니다.

+1

'Rails.version'을 사용하여 레일스 버전을 얻을 수도 있습니다. –

답변

9

레일은 모듈입니다. :: 모듈 객체의 메서드를 호출하는 도트 연산자와 비교하여 정적 멤버 또는 모듈 메서드에 액세스 할 수 있습니다. (모든 클래스는 Ruby의 객체입니다.) STRING은 마찬가지로 VERSION의 정적 멤버입니다.

이들은 전역 상수처럼 작동합니다 (상수이고 사본이 하나뿐입니다).하지만 Ruby에서 일반적인 용어로 사용되는 전역 상수는 아닙니다. 그것들은 Rails 모듈의 정적 필드입니다.

이들은 글로벌 네임 스페이스를 오염시키지 않도록 로컬로 범위를 지정합니다. RUBY_VERSION은 전역 이름 공간에 있습니다. 핵심 언어 기능이기 때문에 누구도 자신의 목적을 위해 그 이름을 사용할 수 없지만 다른 패키지는 그 패키지에 물건을 두지 않아야합니다.

'Rails.constants'는 다른 Rails 상수를 제공합니다.

관련 문제