Wie kann ich alle verfügbaren Methoden für ein Objekt in Ruby anzeigen? Ich benutze die aptana IDE, wenn ich File eintippe. Es werden keine Methoden angezeigt. Ich komme aus einem Eclipse/Java-Hintergrund.Verfügbare Methoden anzeigen Ruby
Dank
Wie kann ich alle verfügbaren Methoden für ein Objekt in Ruby anzeigen? Ich benutze die aptana IDE, wenn ich File eintippe. Es werden keine Methoden angezeigt. Ich komme aus einem Eclipse/Java-Hintergrund.Verfügbare Methoden anzeigen Ruby
Dank
Sie File.methods
im interaktiven Ruby-Interpreter aufrufen können alle verfügbaren Methoden zu sehen. Ich bin mir nicht sicher, ob es einen Weg in der IDE gibt, den du benutzt, da ich es vorher noch nicht benutzt habe.
Es gibt mehrere Methoden:
obj.methods
obj.public_methods
obj.private_methods
obj.protected_methods
obj.singleton_methods
aktualisieren
Um die Objektmethoden abgesehen von allen geerbten Methoden erhalten Sie tun können:
obj.methods (false)
Als Tempus erwähnte in den Kommentaren, der folgende Befehl sehr hilfreich ist es, die aktuellen Objektmethoden abgesehen von der Object (Basisklasse) geerbte Methoden zu erhalten:
obj.methods - Object.methods
Wenn Sie Ein laufender Ruby-Interpreter, <object>.methods
, zeigt die verfügbaren Methoden für das Objekt an. In Eclipse, als ich File.
eintippte, passierte nichts, bis ich einen Inhalt Hilfsbefehl (STRG + Leerzeichen) tat. An diesem Punkt bekam ich eine Liste von Methoden.
reagiert. Danke. Der Ctrl-Bereich funktioniert für mich. Leider scheint keine Dokumentation mit den Methoden verbunden zu sein? Alles, was ich sehe, sind ihre Namen und Parameter, die man weitergeben muss. Ist das eine Schwäche der Ruby IDE? – user231413
Ich bekomme eine Dokumentation über die Kernel-Methoden. Es kann damit zusammenhängen, dass Ruby Docs vorhanden ist oder nicht –
Sie können true
an die Methoden übergeben, wenn Sie die Methoden in Oberklassen definiert ignorieren wollen:
obj.methods(true)
obj.public_methods(true)
obj.private_methods(true)
obj.protected_methods(true)
obj.singleton_methods(true)
Oder, wenn Sie nur die am häufigsten verwendeten Methoden entfernen möchten, die in der Object
Klasse definiert sind, können Sie möchte entweder - Object.methods
oder - Object.instance_methods
anhängen, abhängig davon, ob obj
eine Klasse oder eine Instanz einer Klasse ist.
Ich würde auch beachten, dass obj.methods
die Methodennamen nicht sortiert zurückgibt, so dass Sie möchten, obj.methods.sort
zu tun.
Ich finde 'obj.methods - Object.methods' nützlich. – Geo
Ich habe gerade 'puts obj.methods' herausgefunden, um sie in separaten Zeilen aufzulisten. – ZMorek
Erarbeiten von Tempus's Punkt, es ist schön, wenn Sie ein Objekt von Drittanbietern verwenden (von einem Juwel oder etwas) und Sie tun obj_instance.methods - obj_instance .class.methods', um herauszufinden, wie diese Instanz auf – Edmund