On 02/03/2021 09:12, ToddAndMargo via perl6-users wrote:
Math problem:
x = 60÷5(7−5)
raku -e 'say 60÷5(7−5)'
No such method 'CALL-ME' for invocant of type 'Int'
in block <unit> at -e line 1
Seems raku does not like the (). How do I fix this
and maintain the flow and look of the equation?
-T
The correct answer is 24
The correct answer can be found with the following code.
class SuperInt {
has $.left-factor is rw;
has $.right-factor is rw;
method new(\l, \r) {
my \SELF = self.CREATE;
SELF.left-factor = l;
SELF.right-factor = r;
SELF
}
}
multi sub infix:<÷>(Numeric:D \l, SuperInt:D \r) {
l ÷ r.left-factor * r.right-factor
}
Int.^add_method('CALL-ME', my method (\SELF: \v) { SuperInt.new(SELF, v) });
Int.^compose;
say 60÷5(7−5);
Thought, I do have the hunch that this might break with a slightly more
complex examle.
Have -Ofun
gfldex