`(1)(2)` 和 `x = 1; 有什么区别?朱莉娅的 (x)(2)`?

Lik*_*han 3 julia

(1)(2)和之间有什么区别,x = 1; (x)(2)如下所示?

julia> (1)(2)
2

# but
julia> x = 1
1
julia> (x)(2)
ERROR: MethodError: objects of type Int64 are not callable

Run Code Online (Sandbox Code Playgroud)

谢谢。

引自这里

use*_*164 5

数字文字的并置在 Julia 的解析器中是特殊情况,因此类似于2x解析为2 * x(1)(2)(或等效地1(2))解析为1 * 2(x)(2)另一方面只是常规的函数调用语法,就这样x(2)x如果是数字,则会出错,因为 Julia 中的数字不可调用。