Skip to content

Instantly share code, notes, and snippets.

@AlexDaniel
Created October 18, 2019 03:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AlexDaniel/47d913c1a02095d815a72613c4f4fb97 to your computer and use it in GitHub Desktop.
Save AlexDaniel/47d913c1a02095d815a72613c4f4fb97 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl6
class Animalia {
method full-name {
&?ROUTINE.package.^name
}
}
class Arthropodia is Animalia {
method full-name {
callsame() ~ ', ' ~ &?ROUTINE.package.^name
}
}
class Insecta is Arthropodia {
method full-name {
callsame() ~ ', ' ~ &?ROUTINE.package.^name
}
}
class Lepidoptera is Insecta {
method full-name {
callsame() ~ ', ' ~ &?ROUTINE.package.^name
}
}
class Nymphalidae is Lepidoptera {
method full-name {
callsame() ~ ', ' ~ &?ROUTINE.package.^name
}
}
class Hamadryas is Nymphalidae {
method full-name {
put "{&?ROUTINE.package.^name} is {callsame}"
}
}
my $h = Hamadryas.new;
$h.full-name;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment