Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

is_a?, kind_of?, instance_of? — wie prüft Ruby den Typ eines Objekts?

Beitrags-Cover: is_a?, kind_of?, instance_of? — wie prüft Ruby den Typ eines Objekts?
InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
is_a?, kind_of?, und instance_of? in Ruby überprüfen den Typ eines Objekts, jedoch mit unterschiedlicher Tiefe.

is_a? und kind_of?

Sie sind äquivalent - beide überprüfen, ob ein Objekt eine Instanz einer bestimmten Klasse oder deren Nachkommen ist.
class Animal; end
class Dog < Animal; end

dog = Dog.new

dog.is_a?(Dog)      # true
dog.is_a?(Animal)   # true - weil Dog < Animal
dog.kind_of?(Animal) # true - dasselbe

instance_of?

Überprüft die genaue Klasse, ohne Vererbung.
dog.instance_of?(Dog)     # true
dog.instance_of?(Animal)  # false — weil es ein Nachkomme ist, nicht die Klasse selbst
Kurz gesagt:
is_a? und kind_of? - überprüfen die Vererbungskette
instance_of? - überprüft nur die spezifische Klasse

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

Was passiert, wenn man [1, 2, 3].map(&Person) aufruft?
29. Okt '25, 17:54 Uhr

Was passiert, wenn man [1, 2, 3].map(&Person) aufruft?

Нотатки про Ruby та RoR
Singleton-Klasse (Eigenklasse) in Ruby: was ist das und wozu wird sie benötigt
29. Okt '25, 18:29 Uhr

Singleton-Klasse (Eigenklasse) in Ruby: was ist das und wozu wird sie benötigt

Нотатки про Ruby та RoR
==, gleich?, eql?, === in Ruby: was sie überprüfen und wann man sie verwenden sollte
29. Okt '25, 20:47 Uhr

==, gleich?, eql?, === in Ruby: was sie überprüfen und wann man sie verwenden sollte

Нотатки про Ruby та RoR
Include, Extend, Prepend in Ruby: wie sie funktionieren und wo der Unterschied liegt
29. Okt '25, 21:20 Uhr

Include, Extend, Prepend in Ruby: wie sie funktionieren und wo der Unterschied liegt

Нотатки про Ruby та RoR
module_function in Ruby: wenn die Methoden eines Moduls sowohl als Modulmethoden als auch als Funktionen verfügbar sind
29. Okt '25, 21:53 Uhr

module_function in Ruby: wenn die Methoden eines Moduls sowohl als Modulmethoden als auch als Funktionen verfügbar sind

Нотатки про Ruby та RoR
Was ist Memoization in Ruby?
30. Okt '25, 10:17 Uhr

Was ist Memoization in Ruby?

Нотатки про Ruby та RoR
&& vs and — der Unterschied in Ruby, der Ihren Code brechen kann
30. Okt '25, 20:23 Uhr

&& vs and — der Unterschied in Ruby, der Ihren Code brechen kann

Нотатки про Ruby та RoR
Variablen in Ruby: @, @@ und Klasseninstanzvariablen
30. Okt '25, 20:54 Uhr

Variablen in Ruby: @, @@ und Klasseninstanzvariablen

Нотатки про Ruby та RoR
Der Unterschied zwischen blank?, present?, empty? und nil? in Ruby
30. Okt '25, 21:06 Uhr

Der Unterschied zwischen blank?, present?, empty? und nil? in Ruby

Нотатки про Ruby та RoR
Was ist Middleware in Ruby on Rails und wann wird sie verwendet?
4. Nov '25, 10:39 Uhr

Was ist Middleware in Ruby on Rails und wann wird sie verwendet?

Нотатки про Ruby та RoR
Was ist der Vanilla Rails-Ansatz?
14. Nov '25, 16:48 Uhr

Was ist der Vanilla Rails-Ansatz?

Нотатки про Ruby та RoR
Was ist Elasticsearch und wie funktioniert es?
22. Nov '25, 12:35 Uhr

Was ist Elasticsearch und wie funktioniert es?

Нотатки про Ruby та RoR