> On 18 Dec 2015, at 23:37, TS xx <[email protected]> wrote:
>
> Hi Liz, thanks for your reply.
>
> Can I call the method from static context?
> I mean: MyClass.FOO
In general, yes:
class A {
method FOO { 42 } # note the method doesn’t reference any attributes
}
say A.FOO;
say A.new.FOO; # also works on instances
You can even have a method to be called in case of a static (class) context,
and one to be called in the case of an instance:
class B {
has $.FOO = 666;
multi method FOO(B:U:) { 42 } # B is the class, :U is undefined, final
: for self
multi method FOO(B:D:) { $!FOO } # :D is defined,
}
say B.FOO; # 42
say B.new.FOO; # 666
say B.new(FOO => 3.14).FOO; # 3.14
Hope this helps!
Liz