Julia: Transmitir uma função em uma matriz fornece uma expressão

Criado em 26 mar. 2017  ·  3Comentários  ·  Fonte: JuliaLang/julia

Talvez isso deva gerar um erro.

julia> identity.[3,4,5]
:([3, 4, 5])
bug lowering

Comentários muito úteis

Esta não é uma expressão que nunca significou nada. Ele dá vários erros diferentes em todas as versões do julia. Permitimos analisá-lo, então provavelmente deve haver algum tipo de erro durante o abaixamento.

Todos 3 comentários

FWIW, estou apenas vendo isso com 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

Parece que está sendo reduzido para broadcast(identity, :([1,2,3])) .

Esta não é uma expressão que nunca significou nada. Ele dá vários erros diferentes em todas as versões do julia. Permitimos analisá-lo, então provavelmente deve haver algum tipo de erro durante o abaixamento.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

musm picture musm  ·  3Comentários

omus picture omus  ·  3Comentários

wilburtownsend picture wilburtownsend  ·  3Comentários

sbromberger picture sbromberger  ·  3Comentários

i-apellaniz picture i-apellaniz  ·  3Comentários