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 ..

È stato utile?

Soluzione

Sì, questo è possibile. Questo dovrebbe fare quello che vuoi:

service."fun${var}"()

Il titolo corretto è metodo dinamico invocazione .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top