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, 17:54 Uhr

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

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

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

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

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

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

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

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

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

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

Was ist Memoization in Ruby?

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

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

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

Variablen in Ruby: @, @@ und Klasseninstanzvariablen

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

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

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

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

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

Was ist der Vanilla Rails-Ansatz?

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

Was ist Elasticsearch und wie funktioniert es?

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