Funzione variabile scanalato
-
01-10-2019 - |
Domanda
Io non sono nemmeno sicuro di come titolo questo Qn. Ma, la speranza c'è un modo semplice per farlo in un linguaggio dinamico come Groovy.
dice che ho un servizio di classe, dove ho delegare la logica di business. i metodi in esso sono
funA(), funB()... funX()
.
Ora ho una classe controller, dove io chiamo la chiusura del servizio, che può essere invocato come service.funA (). Ora sulla base di una variabile (che può avere valori A, B ... X
), ho bisogno di cal la chiusura di servizio corretto. In pratica per evitare di scrivere molto, se istruzioni condizionali. Qualcosa di simile service."fun+var"()
farebbe. Non sono sicuro se sia possibile sostituire variabile (funzione) Chiusura nome. o qualsiasi altro modo per funzione (nome) passando come parametro ... non so
Credo che PHP ha una funzione simile http://php.net/ manuale / it / functions.variable-functions.php
grazie per qualsiasi puntatore ..
Soluzione
Sì, questo è possibile. Questo dovrebbe fare quello che vuoi:
service."fun${var}"()
Il titolo corretto è metodo dinamico invocazione .