Nom de la classe à partir de son objet
Question
Comment extraire un nom de la classe de son objet?
Par exemple, j’ai un objet @list qui, je le sais, est sûrement une instance de la classe List. Mais comment puis-je extraire cela directement dans le code?
La solution
Ce type d’information est plutôt une programmation Ruby de base. La réponse est:
object.class
Conseil supplémentaire pour la prochaine fois: essayez de trouver vous-même ces informations dans la la documentation de la bibliothèque principale . Vous savez que vous avez un objet, commencez à lire la documentation et vous trouverez une méthode qui répond à vos besoins. Vous trouverez des informations sur les méthodes que vous pouvez appliquer à un objet ici .
Autres conseils
Si vous souhaitez tester une instance d'une classe spécifique, choisissez un format du type:
@list.is_a?(List)
Comme Edwin l'a dit, object.class
vous donnera l'objet Class correspondant. Si vous voulez juste le nom de la classe, utilisez object.class.name
.