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
).
Las variables contienen cualquier tipo de dato. El propio nombre de la variable, muestra su alcance (local, global,…):
@
, seguido de cualquier mayúscula o minúscula. @sign
@_
@Counter
@@
seguido por cualquier mayúscula o minúscula.@@signo
@@_
@@Counter
$
, seguido por cualquier carácter(no sólo mayúsculas o minúsculas). $counter
$COUNTER
$-x.
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.
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.