25 - Constantes

[editar]
Tutorial creado por matz. Extraido de: http://es.tldp.org/Manuales-LuCAS/doc-guia-usuario-ruby/doc-guia-usuario-ruby-html/
27 de Febrero de 2006
Una constante tiene un nombre que comienza con una letra mayúscula. Se le debe asignar valor sólo una vez. En la implementación actual de Ruby, reasignar un valor a una constante genera un aviso y no un error (la versión no ANSI de eval.rb no informa de este aviso):

|| ruby> fluid = 30
30
ruby> fluid = 31
31
ruby> Solid = 32
32
ruby> Solid = 33
(eval):1: warning: already initialized constant Solid
33
||

Las constantes se pueden definir en una clase, pero a diferencia de las variables de instancia, son accesibles desde el exterior de la misma.

|| ruby> class ConstClass
ruby| C1=101
ruby| C2=102
ruby| C3=103
ruby| def show
ruby| print C1," ",C2, " ",C3,"\n"
ruby| end
ruby| end
nil
ruby> C1
ERR: (eval):1: uninitialized constant C1
ruby> ConstClass::C1
101
ruby> ConstClass.new.show
101 102 103
nil
||

Las constantes también se pueden definir en un módulo.

|| ruby> module ConstModule
ruby| C1=101
ruby| C2=102
ruby| C3=103
ruby| def showConstants
ruby| print C1," ",C2," ",C3,"\n"
ruby| end
ruby| end
nil
ruby> C1
ERR: (eval):1: uninitialized constant C1
ruby> include ConstModule
Object
ruby> C1
101
ruby> showConstants
101 102 103
nil
ruby> C1=99 # realmente una idea no muy buena
99
ruby> C1
99
ruby> ConstModule::C1 # La constante del módulo queda sin tocar ...
101
ruby> ConstModule::C1=99
ERR: (eval):1: compile error
(eval):1: parse error
ConstModule::C1=99
^
ruby> ConstModule::C1 #... independientemente de lo que hayamos jugado con ella
101
||
[editar]

5 opiniones

ejemplos

deberian colocar mas ejemplos =)
D:

y los atributos de la clase que?
bien

bien
Exelente.

Excelente traduccion de: http://www.rubyist.net/~slagell/ruby/singletonmethods.html
muy recomendable.
Bueno.

Muy bueno como introduccion a el leguaje de ruby.

Tutoriales relacionados con 'Guía del usuario de Ruby'

Autor y licencia de 'Guía del usuario de Ruby'

Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.