4
我想在Erlang中編寫一個簡單的Thrift服務器,它接受一個字符串並返回一個字符串。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。堆棧跟蹤顯示以下內容:
{function_clause,[{服務器,測試, [< < 「w00t」 >>]},
{服務器,handle_function,2},...
我的handle_function是從教程文件中複製的,所以我不會感到驚訝,如果我需要調整它。有任何想法嗎?
啊哈。我應該更仔細地研究應用函數的文檔。我假定自從Args是我的函數需要接收一個的列表。另外,我需要指出一個二進制參數la:test(<>) - > –
steamer25
你是什麼意思「指示二進制參數」? – rvirding
@rvirding在Erlang中,Thrift字符串表示爲二進制數據。我的功能必須接收<>,然後用binary_to_list(X)對其進行解碼。 –
steamer25