Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos / El protocolo de metaobjetos 🆕 / Exercises / Encuentre un método
Solución: Encuentre un método
Aquí tienes una posible solución para la tarea.
Código
class Animal {
method speak { 'generic' }
}
class Dog is Animal {
}
say so Dog.^find_method('speak');🦋 Puedes encontrar el código fuente en el archivo find-method.raku.
Salida
TrueComentarios
.^find_methoddevuelve el método si existe, o un valor no definido si no. Elsolo convierte en un booleano simple.Dogno define métodos propios y aun así el resultado esTrue:find_methodbusca en toda la cadena de herencia y encuentraspeakmás arriba, enAnimal. Esto refleja cómo una llamada real a un método sobre unDoglocalizaría el método heredado.