Hello,
I have a type M and I would like to redefine all the operations *, +, -, /
etc. over it. Since it would be everytime the same operations and since I
want my code to be concise I thought about using a macro to define them,
such as:
type M
a
b
end
macro operator_obs(name)
return quote
function $name(m1::M, m2::M)
return M($name(m1.a, m2.a), $name(m1.b, m2.b))
end
end
end
@operator_obs(+)
m1 = M(2.0,3.0)
m2 = M(4.0,5.0)
+(m1, m2)
But this doesn't seem to work. What did I do wrong?
Many thanks,