Corso di Raku / Oggetti, input/output ed eccezioni / Classi e oggetti / Classi / Exercises / Definito o no
Soluzione: Definito o no
Ecco una possibile soluzione del compito.
Codice
class Cat {
}
class Dog {
}
for Cat, Dog, Cat.new, Dog.new -> $thing {
say $thing.defined;
}🦋 Trova il programma nel file defined-or-not.raku.
Output
False
False
True
TrueCommenti
Il ciclo percorre un misto di oggetti di tipo (
Cat,Dog) e istanze (Cat.new,Dog.new).Entrambi gli oggetti di tipo non sono definiti, quindi
definedrestituisceFalseper loro; entrambe le istanze sono definite, quindi restituisceTrue. L’essere definito dipende dal fatto che un valore sia un oggetto di tipo o un’istanza vera — non dalla classe a cui appartiene.