`enumerateall` yields no elements; `collect` returns `#undef` entries
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- data
Direzione di ricerca
Inizia da src/multi_dict.jl righe 98-124, dove l'iteratore enumerateall definisce i suoi metodi iterate. Controlla il cortocircuito ||/&& nel primo metodo iterate, poi fai in modo che il metodo a due argomenti faccia avanzare l'iteratore interno vs invece di restituire vstate invariato. Completato quando collect(enumerateall(MultiDict(1 => 2, 1 => 3, 5 => 6))) restituisce le tre coppie chiave-valore e iterate non restituisce più nothing alla prima chiamata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
enumerateall never yields an element, and collect returns a vector of #undef entries:
using DataStructures
md = MultiDict(1 => 2, 1 => 3, 5 => 6)
@show length(enumerateall(md)) iterate(enumerateall(md)) collect(enumerateall(md))
Output on master (b9ff234), Julia 1.13.3:
length(enumerateall(md)) = 3
iterate(enumerateall(md)) = nothing
collect(enumerateall(md)) = Any[#undef, #undef, #undef]
Cause, in src/multi_dict.jl:98-124:
dstate === nothing || vstate === nothing && return nothingparses asdstate === nothing || (vstate === nothing && return nothing).vsstarts as an empty vector, sovstateisnothingand the firstiteratereturnsnothing.- With the parentheses fixed, the two-argument method still returns
vstateunchanged instead of callingiterate(vs, vst), so iteration would repeat the first value.
Related: #655.
- Lingua principale
- Julia
- Stelle
- 747
- Fork
- 261
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaCollections/DataStructures.jl
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
append!(l1::MutableLinkedList, l2::MutableLinkedList) fails for empty l2Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
Tutte le issue di JuliaCollections/DataStructures.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
Review dependenciesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
rafaqz/DimensionalData.jl#1253 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
osrep/Runes2P.jl#283 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno