Nome della classe dal suo oggetto
Domanda
Come estrarre un nome della classe dal suo oggetto?
Ad esempio ho un oggetto @list che so che è sicuramente un'istanza della classe List. Ma come posso estrarlo direttamente nel codice?
Soluzione
Questo tipo di informazioni è una programmazione Ruby piuttosto basilare. La risposta è:
object.class
Suggerimento extra per la prossima volta: prova a trovare queste informazioni tu stesso in la documentazione della libreria principale . Sai di avere qualche tipo di oggetto, inizia a leggere la documentazione e troverai un metodo adatto alle tue esigenze. Informazioni sui metodi che è possibile eseguire su un oggetto sono disponibili qui .
Altri suggerimenti
Se vuoi testare un'istanza di una classe specifica, sceglierei qualcosa del tipo:
@list.is_a?(List)
Come ha detto Edwin, object.class
ti darà l'oggetto Class corrispondente. Se vuoi solo il nome della classe, usa object.class.name
.