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