You could use another similar operator like \coloneq:
julia> ≔(var, block) = @eval $var = $block
≔ (generic function with 1 method)
julia> @show :foo ≔ "some foo"; foo
:foo ≔ "some foo" = "some foo"
"some foo"
julia> @show :foo ≔ 42; foo
:foo ≔ 42 = 42
42
julia> macro ≔(v, b)
e = Expr(:global, v)
:($e; $(esc(v)) = $(esc(b)))
end
julia> @≔ foo :FOO
:FOO
julia> @≔ foo :FOO; foo
:FOO
julia> macro ≔(v, b)
e = Expr(:global, v)
:(global $e; $(esc(v)) = $(esc(b)))
julia> @≔ bar "some bar"; bar
"some bar"
julia> @≔ bar 7; bar
7
El martes, 5 de enero de 2016, 3:18:07 (UTC-6), Julia Tylors escribió:
>
> Hi,
>
> How can i override the = operator?
>
> Thanks
>
> function ={T}(x::T,y::T)
> ...
> end
>
> didn't work
>
> Thanks
>