Je sais que les opérateurs de Julia ne sont que des fonctions standard et je peux les utiliser en utilisant la syntaxe d'appel de préfixe ordinaire:
julia> +(1, 2)
3
Cependant, ils sont également spéciaux dans le sens où ils peuvent être (et sont généralement) utilisés comme opérateurs d'infixe:
julia> 1+2
3
Puis-je définir mon propre opérateur d'infixe? Si c'est le cas, comment?
Par exemple:
julia> α(x, y) = x+y
α (generic function with 1 method)
julia> α(1, 2)
3 # as expected
julia> 1α2
# expected result: 3
ERROR: UndefVarError: α2 not defined
Stacktrace:
[1] top-level scope at REPL[5]:1
julia> 1 α 2
# expected result: 3
ERROR: syntax: extra token "α" after end of expression
Stacktrace:
[1] top-level scope at REPL[5]:0
@infix
entaille (il repose sur la multiplication implicite par juxtaposition) qui a fait ceci:julia> using InfixFunctions; @infix α(x, y) = x + y; 1 |α| 2
. (aInfixFunctions.jl
été développé comme un exercice macro pour moi, il ne fonctionne pas avec julia 1.x tel