Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Klases / Exercises / Definēts vai nē

Risinājums: Definēts vai nē

Šeit ir iespējams risinājums uzdevumam.

Kods

class Cat {
}

class Dog {
}

for Cat, Dog, Cat.new, Dog.new -> $thing {
    say $thing.defined;
}

🦋 Atrodiet programmu failā defined-or-not.raku.

Izvade

False
False
True
True

Komentāri

  1. Cikls iet pāri tipa objektu (Cat, Dog) un instanču (Cat.new, Dog.new) sajaukumam.

  2. Abi tipa objekti ir nedefinēti, tāpēc defined tiem atgriež False; abas instances ir definētas, tāpēc tas atgriež True. Definētība ir atkarīga no tā, vai vērtība ir tipa objekts vai īsta instance, — nevis no tā, kurai klasei tā pieder.

Kursa navigācija

Definēts vai nē   |   Nosauciet tipu