julia UndefVarError: unshift! non definito

Aug 20 2020

Uso julia 1.4 e eseguo il seguente codice:

using PyCall
using JLD
using ArgParse
using Pandas
@pyimport networkx as nx
@pyimport scipy.sparse.csgraph as csg
@pyimport numpy as np

unshift!(PyVector(pyimport("sys")["path"]), "")
# unshift!(PyVector(pyimport("sys")["path"]), "..")
unshift!(PyVector(pyimport("sys")["path"]), "combinatorial")
@pyimport utils.load_graph as lg
@pyimport utils.distortions as dis
@pyimport graph_util as gu
....

quando eseguo questo codice, ottengo il seguente errore:

 ERROR: LoadError: UndefVarError: unshift! not defined
Stacktrace:
 [1] top-level scope at /root/hyperbolics/combinatorial/comb.jl:9
 [2] include(::Module, ::String) at ./Base.jl:377
 [3] exec_options(::Base.JLOptions) at ./client.jl:288
 [4] _start() at ./client.jl:484
in expression starting at /root/hyperbolics/combinatorial/comb.jl:9

Quando ho cercato documenti, unshift! è una funzione esistente in julia 1.4, quindi non capisco perché si verifica questo errore. Sono nuovo di Julia, per favore aiutatemi.

Risposte

6 fredrikekre Aug 19 2020 at 22:55

unshift! è una funzione esistente in julia 1.4

Dove l'hai visto? È stato rinominato per Julia 1.0 due anni fa in pushfirst!:

julia> pushfirst!([1, 2, 3], 4)
4-element Array{Int64,1}:
 4
 1
 2
 3