tutorial tag section script schools samp ruby syntax

ruby - section - tag html script



clase() vs. tipo() en ruby (2)

#type es un sinónimo de #class , pero está en desuso en ruby ​​1.8, y aparentemente pasó de ruby ​​1.9. Solo usa #class todas partes.

# For ruby 1.8 $ ri Object#type ------------------------------------------------------------ Object#type obj.type => class ------------------------------------------------------------------------ Deprecated synonym for Object#class. # For ruby 1.9 $ ri1.9 Object#type Nothing known about Object#type

¿Cuál es la diferencia entre los métodos de clase y de tipo en Ruby? He notado que el tipo funciona para encontrar el tipo de algunas clases pero no otras.


La diferencia clave es que Object#type está en desuso. Desde el RDoc para tipo de objeto:

Sinónimo en desuso para la clase Object #.

Aquí es por qué debería usar Object#class :

Devuelve la clase de obj, ahora preferida sobre el tipo de objeto #, ya que el tipo de un objeto en Ruby solo está ligado a la clase de ese objeto. Este método siempre debe llamarse con un receptor explícito, ya que class también es una palabra reservada en Ruby.

En realidad, es probable que desee utilizar el Object#respond_to? En lugar de verificar la clase de un objeto en la mayoría de los casos.