come è possibile visualizzare tutti i metodi disponibili su un oggetto in ruby. Sto usando l'IDE di aptana quando digito File. nessun metodo è visualizzato. Vengo da uno sfondo di eclissi/java.Visualizza i metodi disponibili ruby
Grazie
come è possibile visualizzare tutti i metodi disponibili su un oggetto in ruby. Sto usando l'IDE di aptana quando digito File. nessun metodo è visualizzato. Vengo da uno sfondo di eclissi/java.Visualizza i metodi disponibili ruby
Grazie
è possibile richiamare File.methods
nell'interprete interattivo Ruby per vedere tutti i metodi disponibili. Non sono sicuro che ci sia un modo nell'IDE che stai utilizzando, poiché non l'ho mai usato prima.
Sono disponibili diversi metodi:
obj.methods
obj.public_methods
obj.private_methods
obj.protected_methods
obj.singleton_methods
Aggiornamento
Per ottenere i metodi dell'oggetto Oltre a tutti i metodi ereditati che si possono fare:
obj.methods (false)
Come Tempus citato nei commenti, il seguente comando è molto utile per ottenere i metodi dell'oggetto corrente a parte l'oggetto (classe di base) ha ereditato metodi:
obj.methods - Object.methods
Se avete un interprete Ruby in esecuzione, <object>.methods
mostrerà i metodi disponibili sull'oggetto. In Eclipse quando ho digitato File.
non è successo nulla fino a quando non ho fatto un comando di Assistente contenuto (CTRL + spazio). A quel punto ho ricevuto una lista di metodi.
Grazie. Ctrl space funziona per me. Sfortunatamente non sembra esserci alcuna documentazione associata ai metodi? Tutto quello che vedo sono i loro nomi e parametri da passare. È una debolezza dell'ID rubino? – user231413
Ricevo documentazione sui metodi di Kernal. Potrebbe essere correlato alla presenza o meno di documenti ruby –
È possibile passare true
ai metodi, se si vuole ignorare i metodi definiti in superclassi:
obj.methods(true)
obj.public_methods(true)
obj.private_methods(true)
obj.protected_methods(true)
obj.singleton_methods(true)
Oppure, se si desidera rimuovere i metodi più comuni che vengono definite nella classe Object
, è desidera aggiungere - Object.methods
o - Object.instance_methods
, a seconda che sia obj
una classe o un'istanza di una classe.
Vorrei anche notare che obj.methods
non restituisce i nomi dei metodi ordinati, quindi potresti voler fare obj.methods.sort
.
Trovo utile 'obj.methods - Object.methods'. – Geo
Ho appena trovato 'puts obj.methods' per elencarli su linee separate – ZMorek
che elaborano sul punto di Tempus, è bello se stai usando un oggetto di terze parti (da una gemma o qualcosa del genere) e fai' obj_instance.methods - obj_instance .class.methods' per scoprire cosa risponde l'istanza a – Edmund