也许这应该会引发错误。
julia> identity.[3,4,5]
:([3, 4, 5])
FWIW 我只看到identity
:
julia> sum.[1,2,3]
ERROR: MethodError: no method matching start(::Expr)
Closest candidates are:
start(::SimpleVector) at essentials.jl:259
start(::Base.MethodList) at reflection.jl:560
start(::ExponentialBackOff) at error.jl:107
...
Stacktrace:
[1] mapfoldl(::Base.#identity, ::Function, ::Expr) at ./reduce.jl:67
[2] sum(::Expr) at ./reduce.jl:342
[3] broadcast(::Function, ::Expr) at ./broadcast.jl:415
julia> identity.[1,2,3]
:([1, 2, 3])
julia> length.[1,2,3]
ERROR: MethodError: no method matching length(::Expr)
Closest candidates are:
length(::SimpleVector) at essentials.jl:257
length(::Base.MethodList) at reflection.jl:558
length(::MethodTable) at reflection.jl:634
...
Stacktrace:
[1] broadcast(::Function, ::Expr) at ./broadcast.jl:415
看起来它被降低到broadcast(identity, :([1,2,3]))
。
这不是一个曾经有任何意义的表达。 它在所有版本的 julia 中给出了各种不同的错误。 我们允许解析它,所以它可能在降低过程中出现某种错误。
最有用的评论
这不是一个曾经有任何意义的表达。 它在所有版本的 julia 中给出了各种不同的错误。 我们允许解析它,所以它可能在降低过程中出现某种错误。