Un nombre es una letra mayúscula, una letra minúscula o un guión bajo, seguido por cualquier combinación de mayúsculas, minúsculas, números o guiones bajos.
Los nombres en Ruby se usan para referirse a constantes, variables, métodos, clases y módulos. La primera letra de un nombre ayuda a Ruby a distinguirlos. Algunos nombres, son palabras reservadas y no pueden usarse como variable, método, clase o módulo. El conjunto de las minúsculas abarca de la 'a' a la 'z' incluyendo el guión bajo '_'. El conjunto de las mayúsculas abarca de la 'A' a la 'Z' y los números (del '0' al '9').
Variables
Las variables contienen cualquier tipo de dato. El propio nombre de la variable, muestra su alcance (local, global,…):
- Una variable local consiste en una letra minúscula o guión bajo seguido de cualquier mayúscula o minúscula. P.ej.: sunil, _z, rock_and_roll
- Una variable de un objeto (más adelante se hablará de clases y objetos) empieza con la arroba, seguido de cualquier mayúscula o minúscula. P.ej.: @sign, @_, @Counter
- Una variable de clase empieza con dos arrobas seguido por cualquier mayúscula o minúscula. P.ej: @@signo, @@_, @@Counter
- Una variable global empieza por el signo dólar, seguido por cualquier carácter(no sólo mayúsculas o minúsculas). P.ej: $counter, $COUNTER, $-x.
Constantes
Una constante empieza por una letra mayúscula, seguido por cualquier mayúscula o minúscula. Los nombres de clases y de módulos son constantes, y siguen unas normas. Ejemplos: module MyMath, PI=3.1416, class Perro.
Los nombres de métodos deben empezar por una minúscula (letra o guión bajo). La ? y la ! son los únicos caracteres ajenos al grupos de las mayúsculas y minúsculas, que se permiten como sufijos de los métodos. Más adelante se explicará su uso.
Por norma, se usa el guión bajo para separar palabras compuestas en los nombres de métodos y de variables. Para los nombres de clases, módulos y constantes, la norma dice de usar letras mayúsculas en vez de guiones bajos, para distinguirlas. Ejemplos:
- variables y métodos: real_madrid, futbol_club_barcelona
- clases, módulos y constantes: RealMadrid, FutbolClubBarcelona
Hay que notar que una variable puede referirse a distintos valores a lo largo del tiempo. Una constante en Ruby puede ser una referencia a un objeto. Las constantes son creadas en el momento de su primera asignación, normalmente en la definición de una clase o un módulo; no deben estar definidas en los métodos. Se puede variar el valor de una constante, pero esto genera un valor de aviso.