基于字符串调用不同的函数

时间:2011-10-05 15:33:24

标签: function coding-style eval

我不确定它是否可能。 假设我定义了以下功能:

a(), b(), c()

我想从命令行获取用户输入(“a”,“b”,“c”)并根据输入调用相应的函数

但不使用案例或如果是 即:

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

这是否存在于任何语言中?

1 个答案:

答案 0 :(得分:1)

当然你可以做那样的事情。例如,在Python中:

def a():
    return 'a'

def b():
    return 'b'

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

执行select_func('a')将返回'a',执行select_func('c')将引发异常