`enumerateall` yields no elements; `collect` returns `#undef` entries
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Área
- data
Línea de trabajo
Empieza en src/multi_dict.jl líneas 98-124, donde el iterador enumerateall define sus métodos iterate. Revisa el cortocircuito de ||/&& en el primer método iterate y luego haz que el método de dos argumentos avance el iterador interno vs en lugar de devolver vstate sin cambios. Terminado cuando collect(enumerateall(MultiDict(1 => 2, 1 => 3, 5 => 6))) devuelva los tres pares clave-valor y iterate ya no devuelva nothing en la primera llamada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Julia
- Estrellas
- 747
- Forks
- 261
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaCollections/DataStructures.jl
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
append!(l1::MutableLinkedList, l2::MutableLinkedList) fails for empty l2Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
Todos los issues de JuliaCollections/DataStructures.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
Review dependenciesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
rafaqz/DimensionalData.jl#1253 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
osrep/Runes2P.jl#283 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día