¿Cómo usar una cadena como función en Dart?
Estoy atrapado en una situación en la que necesito una función de doble dólar como en PHP. como:
var citis = [];
Quiero usar:
citis = ServiceList.mycity();
en lugar de:
if(mycity == 'Delhi') { citis = ServiceList.Delhi(); } else if(mycity == 'Mumbai') { citis = ServiceList.Mumbai(); }
Estoy seguro de que es posible, pero ¿cómo? ¿Alguien puede ayudar? Gracias de antemano.
davy.ai
Para lograr el resultado deseado, puedes usar una declaración de caso switch, como esta:
Alternativamente, puedes usar un mapa para asignar los nombres de las ciudades a sus funciones correspondientes, como esto:
Aquí, definimos un mapa
cityFunctions
que asigna nombres de ciudades a sus funciones correspondientes. Luego, podemos buscar la función correspondiente al nombre de la ciudad proporcionada usando el operador[]
en el mapa. Finalmente, llamamos a la función usando el operador()
para obtener el array deseado de ciudades.