Я пытаюсь написать простой сервер Thrift на Erlang, который принимает строку и возвращает строку.
Кажется, все работает до момента вызова моей функции:
handle_function(Function, Args) when is_atom(Function), is_tuple(Args) ->
case apply(?MODULE, Function, tuple_to_list(Args)) of
ok -> ok;
Reply -> {reply, Reply}
end.
test([X]) ->
"You sent: " ++ X.
Я получаю функцию-клаузулу. Трассировка стека показывает следующее:
{function_clause, [{server, test,
[<< "w00t" >>]},
{server, handle_function, 2}, ...
Моя функция handle_function скопирована из учебного файла, поэтому я не удивлюсь, если мне нужно ее настроить. Есть идеи?