Julia의 연산자는 표준 함수이며 일반적인 접두사 호출 구문을 사용하여 사용할 수 있습니다.
julia> +(1, 2)
3
그러나 이들은 또한 중위 연산자로 사용될 수 있고 일반적으로 사용된다는 점에서 특별합니다.
julia> 1+2
3
내 고유 연산자를 정의 할 수 있습니까? 그렇다면 어떻게?
예를 들면 다음과 같습니다.
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
해킹했다 (그것은 juxtaposition에 의한 암묵적 곱셈에 의존한다)julia> using InfixFunctions; @infix α(x, y) = x + y; 1 |α| 2
. (InfixFunctions.jl
자신을위한 매크로 연습으로 개발