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
TrueKomentāri
Cikls iet pāri tipa objektu (
Cat,Dog) un instanču (Cat.new,Dog.new) sajaukumam.Abi tipa objekti ir nedefinēti, tāpēc
definedtiem 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.