вызов различных функций на основе строки - PullRequest
1 голос
/ 05 октября 2011

Я не уверен, возможно ли это вообще.Скажем, у меня определена следующая функция:

a(), b(), c()

Я хочу получить пользовательский ввод из командной строки (либо «a», «b», «c») и в соответствии с входным вызовом соответствующую функцию

НО без использования кейсов или если то есть:

input = getinput()
if exist?(input){
  input()
}

Существует ли это на каком-либо языке?

1 Ответ

1 голос
/ 05 октября 2011

Конечно, вы можете сделать что-то подобное. Например, в Python:

def a():
    return 'a'

def b():
    return 'b'

def select_func(name):
    return eval(name)()

Выполнение select_func ('a') вернет 'a', а выполнение select_func ('c') вызовет исключение

...