是否可以更改 Julia 中运算符的顺序?
Is it possible to change order of operators in Julia?
我喜欢以编程方式更改 &
的顺序。可能吗?例如 3 < 4 & 1 < 4
,&
先求值,但我喜欢最后求值。
您不能更改 &
的优先级 - 在 Julia 中,优先级是在解析时解析的。执行 Colin T Bowers 建议的操作或使用优先级低于比较运算符的 &&
。
实际上,如果您定义优先级低于 &
的运算符并赋予其 &
.
的含义,这是可能的
julia> ↺(a,b) = a & b
↺ (generic function with 1 method)
julia> 3 < 4 ↺ 1 < 4
true
这当然是某种“作弊”,它会使使用 ↺
编写其他代码变得尴尬,因为它现在具有与 =>
运算符相同的优先级。
可用运算符列表及其优先级可在以下位置找到:
https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm
我喜欢以编程方式更改 &
的顺序。可能吗?例如 3 < 4 & 1 < 4
,&
先求值,但我喜欢最后求值。
您不能更改 &
的优先级 - 在 Julia 中,优先级是在解析时解析的。执行 Colin T Bowers 建议的操作或使用优先级低于比较运算符的 &&
。
实际上,如果您定义优先级低于 &
的运算符并赋予其 &
.
julia> ↺(a,b) = a & b
↺ (generic function with 1 method)
julia> 3 < 4 ↺ 1 < 4
true
这当然是某种“作弊”,它会使使用 ↺
编写其他代码变得尴尬,因为它现在具有与 =>
运算符相同的优先级。
可用运算符列表及其优先级可在以下位置找到: https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm