Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Saito_25 en 4 Abril 2015, 20:50 PM

Título: ¿saber qué tipo de valor tiene la variable con la que estoy trabajando? Ruby
Publicado por: Saito_25 en 4 Abril 2015, 20:50 PM
Antes que nada, me disculpo con el mod/admin por olvidarme siempre de poner la etiqueta GeSHi, no me acostumbro... y nunca me acuerdo  :-(.

En fin, mi pregunta no sé que tan difícil sea, pero hay alguna forma, en ruby, de saber si la variable con la que estoy trabajando posee un valor numérico (decimal o entero), booleano (true, false) o string (cadena de texto).

Título: Re: ¿saber qué tipo de valor tiene la variable con la que estoy trabajando? Ruby
Publicado por: EFEX en 4 Abril 2015, 21:15 PM
http://ruby-doc.com/docs/ProgrammingRuby/

Con eso te haras una idea para seguir..
Título: Re: ¿saber qué tipo de valor tiene la variable con la que estoy trabajando? Ruby
Publicado por: Saito_25 en 4 Abril 2015, 21:25 PM
Agradezco tu ayuda, pero con eso solo me pongo a llorar =). Completamente en inglés, leí los primeros párrafos y miré muy fijamente la ventana, vivo en una sexta planta =).

Bueno, por azares del destino, decidí hacer esto:

Código (ruby) [Seleccionar]
a = 232
a.class
puts a



Y, aunque parezca mentira, encontré la solución. Sencillamente, lo hice a ver que pasaba, no imaginé que fuera a funcionar XD.
Título: Re: ¿saber qué tipo de valor tiene la variable con la que estoy trabajando? Ruby
Publicado por: Eleкtro en 4 Abril 2015, 22:06 PM
( Saito_25, por pequeño que sea el código debes utilizar las etiquetas geshi. )

Para determinar el type de un objeto puedes utilizar la función 'class':
http://ruby-doc.org/core-2.2.1/Object.html#method-i-class

Ten en cuenta que una class puede hereder de otra class, para determinar si el type de un objeto es de esa class o deriva de ella, puedes utilizar la función 'is_a?':
http://ruby-doc.org/core-2.2.1/Object.html#method-i-is_a-3F

Ejemplos:
Código (ruby) [Seleccionar]
str = "Hello World!"

print "str Type.............: #{str.class}\n"
print "str is Type of String: #{str.is_a?(String)}\n"


Saludos.