Wie kann ich die aktuelle offene Klasse in Ruby ermitteln?Ruby aktuelle Klasse
Antwort
Innerhalb einer class
Definition Körper self
bezieht sich auf die Klasse selbst. Module#name
wird Ihnen den Namen der Klasse/des Moduls mitteilen, aber nur wenn es tatsächlich einen hat. (In Ruby gibt es keinen "Klassennamen". Klassen sind einfach Objekte wie alle anderen, die genau wie andere Variablen zugewiesen werden. Wenn Sie also einer Konstante ein Klassenobjekt zuweisen, dann die name
Methode wird den Namen dieser konstante zurück)
. Beispiel:
puts class Foo
name
end
# Foo
Aber:
bar = Class.new
bar.name # => nil
BAR = bar
bar.name #=> 'BAR'
Innerhalb der Klasse selbst:
class_name = self.class
Auf einem initialisierten Objekt mit dem Namen obj
:
class_name = obj.class
Sie verwenden 'class' als Variable und 'class' ist ein reserviertes Schlüsselwort. Rename variable 'class' – cristian
+1 Genau was ich brauchte :) – onetwopunch
'class_name' ist immer noch kein großer Name für diese Variable, da es das Klassenobjekt ist, nicht der Name String. Ein besserer Name für die Variable könnte "klass" sein. – aridlehoover
wenn Sie obj = SomeClass.new
haben Sie erhalten die Klasse mit obj.class
In meinem Fall die name
Methode war überschreibt, finde ich to_s
geben Sie mir diese gleiches Ergebnis
class Foo
puts self.name
puts self.to_s
end
#=> Foo
#=> Foo
- 1. Ruby - Scoping-Methode ruft aktuelle Klasse auf
- 2. Erhalten aktuelle Klasse
- 3. UITesting, XCTest aktuelle ViewController Klasse
- 4. Wann ist eine Ruby-Klasse nicht diese Ruby-Klasse?
- 5. Ruby on rails - Javascript aktuelle locale
- 6. Die aktuelle Codezeile in Ruby erhalten
- 7. Ruby: 'neu' ohne Klasse
- 8. ruby: Anrufer Klasse
- 9. Ruby-Klasse Initialisierung
- 10. Ruby-Klasse und Funktion
- 11. Dynamische Klasse in Ruby
- 12. Ruby-Klasse vs Struct
- 13. Ruby-Klasse gesetzt/erhalten
- 14. Wie bekomme ich die aktuelle Datei, aktuelle Klasse und aktuelle Methode mit Python?
- 15. Get LogLevel für aktuelle Klasse/bean
- 16. Android der aktuelle Fragment Klasse Activity Class
- 17. putting aktuelle Klasse als Rückgabetyp Annotation
- 18. Warum Object.class == Klasse in Ruby?
- 19. über Ruby-Klasse Methode aufrufen
- 20. Ruby: Klasse akzeptiert einen Block?
- 21. 'Object' benannte Klasse in Ruby
- 22. application.rb Überschreibung Basis Ruby-Klasse
- 23. Pass in Ruby Variable zu einer Klasse Factory Ruby-Skript
- 24. Wie erhält man die aktuelle Datei- und Zeilennummer in Ruby?
- 25. Aktuelle Stack-Trace in Ruby ohne eine Ausnahme auslösen
- 26. Wie wird der aktuelle Benutzername als Link in RUBY angezeigt?
- 27. Aktuelle Cursorposition bei Verwendung der Prawn Ruby-Bibliothek
- 28. Ruby on Rails Wie bekomme ich die aktuelle URL?
- 29. Wird die aktuelle Ruby-Methode über Super aufgerufen?
- 30. Implementieren Sie eine Methode der abstrakten Klasse, wenn die aktuelle Klasse bereits eine andere Klasse erweitert
Es ist dein 'Selbst'! –