2009-12-12 3 views
1

Je sais comment trouver la version de rails je:Constant: Rails :: VERSION :: STRING

> Rails::VERSION::STRING 
> "2.3.2" 
  • Peut rupture de quelqu'un/expliquer Rails :: VERSION :: STRING » pour moi
  • Quelle est la première partie "Rails"?
  • Que signifie le "::" signifie/faire?
  • est-ce une constante globale?
  • Comment est-ce différent de "RUBY_VERSION"? (construction, non sens . à-dire pas « :: »)
  • Comment puis-je énumérer/trouver toutes les constantes globales?

Merci.

+1

Vous pouvez également obtenir la version Rails en utilisant 'Rails.version'. –

Répondre

9

Rails est un module. :: Vous donne accès à un membre statique ou à une méthode d'un module, par rapport à l'opérateur point, qui appelle des méthodes sur l'objet module. (Toutes les classes sont des objets dans Ruby.) STRING est, de même, un membre statique de VERSION.

Ceux-ci agissent comme des constantes globales (ils sont constants et il n'y a qu'une seule copie d'entre eux), mais ils ne sont pas constantes globales au sens habituel de ce terme dans Ruby. Ce sont des champs statiques sur le module Rails.

Ils sont scope donc localement pour éviter de polluer l'espace de noms global. RUBY_VERSION est dans l'espace de noms global. Comme il s'agit d'une fonctionnalité du langage de base, personne ne se soucie tellement qu'ils ne peuvent pas utiliser ce nom à leurs propres fins, mais d'autres paquets devraient éviter d'y mettre des choses.

'Rails.constants' vous donnera les autres constantes Rails.

Questions connexes