expr.AsKind not work?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con la reproducción en Go proporcionada e inspecciona expr.AsKind y el error de compilación que produce. Determina si la incompatibilidad entre int e int32 es esperada o si se trata de un error y, a continuación, documenta la forma admitida de obtener un resultado int32 o define la corrección necesaria.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
package main
import (
"errors"
"fmt"
"reflect"
"github.com/expr-lang/expr"
)
type Number interface {
int | uint | uint32 | int32 | uint64 | int64 | float32 | float64
}
func TryStrToNum[T Number](str string) (retValue T, err error) {
program, err := expr.Compile(str, expr.AsKind(reflect.TypeOf(retValue).Kind()))
if err != nil {
fmt.Printf("Compile Error: %s, %v\n", str, err)
return
}
v, err := expr.Run(program, nil)
if err != nil {
fmt.Printf("Run Error: %s, %v\n", str, err)
return
}
retValue, flag := v.(T)
if !flag {
fmt.Printf("StrToNumber Error: %s, %v", str, v)
return retValue, errors.New(fmt.Sprintf("TryStrToNum error: %s", str))
}
return retValue, nil
}
func main() {
fmt.Println(TryStrToNum[int32]("1"))
}
/*
Compile Error: 1, expected int32, but got int
0 expected int32, but got int
*/
is it a bug ?
How to fix it?
- Lenguaje dominante
- Go
- Estrellas
- 8k
- Forks
- 529
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 expr-lang/expr
-
docs needed
Dificultad 1/5 1-3 horas Aptitud para principiantes 62/100
-
Release latest master branch Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
log2 builtin Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
Todos los issues de expr-lang/expr
Issues similares
-
area/dev-productivity area/disaster-recovery area/ipcei kind/enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
kind/bug status/0-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
🤔 refinement needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
equinor/radix-operator#1979 ·