Fish Shell:
Uso de matrices asociativas
Cómo hacerlo:
Fish no soporta nativamente arreglos asociativos como Bash 4+, pero puedes lograr una funcionalidad similar usando una combinación de listas y manipulación de cadenas. Así es cómo imitarlos:
Primero, configurando elementos de “arreglo asociativo” por separado:
set food_color_apple "red"
set food_color_banana "yellow"Para acceder a un elemento, solo refiérelo directamente:
echo $food_color_apple
# Salida: redSi necesitas iterar sobre ellos, usa un bucle for considerando una convención de nombres:
for food in apple banana
echo $food_color_$food
end
# Salida:
# red
# yellowPara aquellos que extrañan el ${!array[@]} de Bash para obtener todas las claves, puedes almacenar las claves en una lista separada:
set food_keys apple banana
for key in $food_keys
echo $key 'es' $food_color_$key
end
# Salida:
# apple es red
# banana es yellowEstudio Profundo
Los verdaderos arreglos asociativos como en otros lenguajes de scripting aún no son parte del enfoque de Fish. El truco mostrado aprovecha la manipulación de cadenas y las capacidades de lista de Fish para crear una estructura pseudo-asociativa. Aunque funciona, no es tan limpio ni a prueba de errores como lo sería el soporte integrado de arreglos asociativos. Otros shells como Bash y Zsh ofrecen funcionalidad de arreglos asociativos integrada, lo que resulta en un código más directo y legible. Sin embargo, la filosofía de diseño de Fish apunta a la simplicidad y amigabilidad con el usuario, posiblemente a expensas de tales características. El truco satisface la mayoría de las necesidades pero mantén un ojo en la evolución de Fish Shell—sus desarrolladores mejoran activamente y añaden características basadas en los comentarios de la comunidad.