шпунтовая переменная функция - PullRequest
0 голосов
/ 25 апреля 2010

Я даже не уверен, как озаглавить этот вопрос. Но, надеюсь, есть простой способ сделать это на динамическом языке, таком как groovy.

скажем, у меня есть класс Service, где я делегирую бизнес-логику. методы в нем funA(), funB()... funX().

Теперь у меня есть класс контроллера, где я вызываю закрытие службы, которое можно вызвать как service.funA (). Теперь, основываясь на переменной (которая может иметь значения A, B ... X), мне нужно определить правильное закрытие службы. В основном, чтобы не писать много условных утверждений. Что-то вроде service."fun+var"() подойдет. Я не уверен, возможно ли заменить переменную в имени замыкания (функции). или любым другим способом, передавая функцию (имя) в качестве параметра ... не уверен

Я думаю, что PHP имеет аналогичную функцию http://php.net/manual/en/functions.variable-functions.php

спасибо за любой указатель ..

1 Ответ

8 голосов
/ 25 апреля 2010

Да, это возможно. Это должно делать то, что вы хотите:

service."fun${var}"()

Правильный заголовок: динамический вызов метода .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...