Foro de elhacker.net

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
  1. a = 232
  2. a.class
  3. 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
  1. str = "Hello World!"
  2.  
  3. print "str Type.............: #{str.class}\n"
  4. print "str is Type of String: #{str.is_a?(String)}\n"

Saludos.