-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Podría mejorarse sustancialmente el manejo de las operaciones con el uso de una estructura auxiliar:
type operacion struct {
simbolo string
operar func(operadores Pila[int64]) int64
}Una versión aún más superadora es una donde la operación no reciba una pila sino que indique su aridad:
type operacion struct {
simbolo string
aridad int
operar func(operadores []int64) int64 // operadores debe ser un slice de "aridad" elementos, en el orden correcto
}Luego el código se vuelve trivial: un código que busca la operación por el símbolo, un código que desapila de la pila para dar la cantidad de elementos al slice, y simplemente invocar la operación.
Acá faltarían las condiciones de error que no sean por cantidad de parámetros, pero eso puede resolverse con:
type operacion struct {
simbolo string
aridad int
operar func(operadores []int64) (int64, error) // operadores debe ser un slice de "aridad" elementos, en el orden correcto
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels