Julia: La diffusion d'une fonction sur un tableau donne une expression

Créé le 26 mars 2017  ·  3Commentaires  ·  Source: JuliaLang/julia

Cela devrait peut-être générer une erreur.

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

Commentaire le plus utile

Ce n'est pas une expression qui n'a jamais signifié quoi que ce soit. Il donne diverses erreurs différentes dans toutes les versions de julia. Nous autorisons son analyse, il devrait donc probablement s'agir d'une sorte d'erreur lors de l'abaissement.

Tous les 3 commentaires

FWIW je ne vois cela qu'avec 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

Il semble qu'il soit abaissé à broadcast(identity, :([1,2,3])) .

Ce n'est pas une expression qui n'a jamais signifié quoi que ce soit. Il donne diverses erreurs différentes dans toutes les versions de julia. Nous autorisons son analyse, il devrait donc probablement s'agir d'une sorte d'erreur lors de l'abaissement.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

StefanKarpinski picture StefanKarpinski  ·  3Commentaires

wilburtownsend picture wilburtownsend  ·  3Commentaires

StefanKarpinski picture StefanKarpinski  ·  3Commentaires

felixrehren picture felixrehren  ·  3Commentaires

musm picture musm  ·  3Commentaires