Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

IDEA: Transform progress::progress_bar() updates to progression updates on the fly

Abierto
#54 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
r
Área
tooling

Línea de trabajo

Comience con el punto de entrada progress::progress_bar() y compare su salida de mensajes con el comportamiento de message_class mostrado en el issue. Determine si las actualizaciones de progress_bar pueden identificarse y traducirse en condiciones de progreso en distintas configuraciones de formato personalizadas; se considera terminado cuando se hayan definido el comportamiento compatible y los límites del parsing.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Would it be possible to listen to progress::progress_bar() update messages and translate those into proper progression conditions? It looks tricky and would rely on knowing what output to expect from progress_bar(). For example,

> library(progress)
> pb <- progress_bar$new(total = 10)
> msg <- NULL
> withCallingHandlers(invisible(pb$tick()), message = function(m) msg <<- m)
> str(msg)
 NULL
> withCallingHandlers(invisible(pb$tick()), message = function(m) msg <<- m)
[=============>---------------------------------------------------------]  20%> 
> str(msg)
List of 2
 $ message: chr "[=============>---------------------------------------------------------]  20%"
 $ call   : NULL
 - attr(*, "class")= chr [1:2] "message" "condition"

As a starter, if all progress_bar() calls would make use of the new message_class, then it would possible to identify progress_bar message from regular messages, e.g.

> library(progress)
> pb <- progress_bar$new(total = 10, message_class = "progress_bar")
> msg <- NULL
> withCallingHandlers(invisible(pb$tick()), message = function(m) msg <<- m)
> str(msg)
 NULL
> withCallingHandlers(invisible(pb$tick()), message = function(m) msg <<- m)
[=============>---------------------------------------------------------]  20%> 
> str(msg)
List of 2
 $ message: chr "[=============>---------------------------------------------------------]  20%"
 $ call   : NULL
 - attr(*, "class")= chr [1:3] "progress_bar" "message" "condition"

Yet, it'll be hard to parse those message strings to reverse engineer the underlying progress state, especially since we don't know what progress_bar(format = ...) has been set. Although, we could possibly be able to infer it after having received a few updates.

Lenguaje dominante
R
Estrellas
299
Forks
11
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de futureverse/progressr

Todos los issues de futureverse/progressr

Issues similares

Más issues de R

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.