super fonction variable
-
01-10-2019 - |
Question
Je ne suis même pas sûr de savoir comment le titre de cette qn. Mais, en espérant qu'il existe un moyen facile de le faire dans un langage dynamique comme groovy.
que j'ai un service de première classe, où je délègue la logique métier. les méthodes qu'elle contient sont
funA(), funB()... funX()
.
Maintenant, j'ai une classe de contrôleur, où j'appelle la fermeture de service, qui peut être invoqué comme service.funA (). Maintenant, sur la base d'une variable (qui peut avoir des valeurs A, B ... X
), je dois cal la fermeture de service correct. Fondamentalement, pour éviter d'écrire beaucoup de si des instructions conditionnelles. Quelque chose comme service."fun+var"()
ferait. Je ne sais pas s'il est possible de remplacer la variable dans le nom de fermeture (fonction). ou de toute façon en fonction passage (nom) en tant que paramètre ... pas sûr
Je pense que PHP a une fonction similaire http://php.net/ manuel / fr / functions.variable-functions.php
Merci pour tout pointeur ..
La solution
Oui, cela est possible. Cela devrait faire ce que vous voulez:
service."fun${var}"()
Le titre est correct méthode dynamique .