Deseo tener un hash que contenga referencias a subfunciones donde pueda llamar esas funciones dependiendo de una variable definida por el usuario, intentaré y daré un ejemplo simplificado de lo que estoy tratando de hacer.Perl Hash de subfunciones
my %colors = (
vim => setup_vim(),
emacs => setup_emacs(),
)
$colors{$editor}(arg1, arg2, arg3)
donde setup_vim()
y setup_emacs()
habría sub-funciones definidas más adelante en mi archivo y $editor
es una variable definida por el usuario (es decir vim o emacs). es posible? No puedo hacer que funcione o encontrar buena información sobre el tema. Gracias.
(Nota tengo que implementa este momento como un interruptor de trabajo, pero creo que un hash como la anterior, sería más fácil para agregar nuevas entradas a mi código existente)
Gracias a ustedes dos, funcionó bien. No estoy seguro de qué cierres me estoy autoaprendiendo Perl al leer Mastering Perl (Foy) y están a 2-3 capítulos de distancia :) –
Los cierres también funcionan en los otros tipos de variables léxicas, no solo en los creados con ' mi' – tchrist
@tchrist: Sí, los cierres funcionan con todas las variables léxicas. Pero las cosas para las que la gente quiere usarlas no ocurren tan obviamente con nuestras variables. Todavía he actualizado mi respuesta. – btilly