Erlang发送括号数据

Erlang发送括号数据,erlang,Erlang,我在Erlang执行机器人足球代理。我无法发送类似的数据 (init myteam(第14版)) 或 (踢力角) 到Robocup足球模拟器服务器,其中功率和角度是具有一定值的变量[使用gen_udp]。编译器显示语法错误。(括号是数据的一部分) 我想要的是将此数据发送到服务器 ok=gen_udp:send(套接字,“localhost”, 港口, 数据) 其中数据必须与上面所示的两个示例完全相同。Hmm,您应该真正显示类似的代码,但是: kick(Power, Angle) ->

我在Erlang执行机器人足球代理。我无法发送类似的数据

(init myteam(第14版))

(踢力角)

到Robocup足球模拟器服务器,其中功率和角度是具有一定值的变量[使用gen_udp]。编译器显示语法错误。(括号是数据的一部分

我想要的是将此数据发送到服务器

ok=gen_udp:send(套接字,“localhost”, 港口, 数据


其中数据必须与上面所示的两个示例完全相同。

Hmm,您应该真正显示类似的代码,但是:

kick(Power, Angle) ->
  io_lib:format("(kick ~B ~B)", [Power, Angle]).

init() ->
   init(myteam, 14).

init(Team, Version) ->
  io_lib:format("(init ~p (version ~B))", [Team, Version]).
是一种开始的方式(未经测试)。如果您想要更快的输出,您可能应该编写一个函数
term\u to\u sexp
,然后将任意术语输出为
iolist()
(查找iolist,它们非常适合这种工作,而且速度非常快)

term到sexp(A)什么时候是原子(A)->
L=原子到原子列表(A),
;
术语sexp(B)何时为二进制(B)->
B
术语到sexp(T)何时为元组(T)->
术语_到_sexp(元组到_列表(T));
... % 可能是失踪病例
术语到sexp(L)何时为列表(L)->
穿插(“,[term_to_sexp(Item)| | Item[];
散布(X])->[X];
穿插(九月[X|Rest])->
[X,九月|穿插(九月,休息)]。

(也未测试,但只是一个开始)。

嗯,您应该真正显示这样的代码,但是:

kick(Power, Angle) ->
  io_lib:format("(kick ~B ~B)", [Power, Angle]).

init() ->
   init(myteam, 14).

init(Team, Version) ->
  io_lib:format("(init ~p (version ~B))", [Team, Version]).
是一种开始(未经测试)的方法。如果您想要更快的输出,您可能应该编写一个函数
term\u to\u sexp
,然后将任意术语输出为
iolist()
(查找iolist,它们非常适合这种工作,而且速度非常快)

term到sexp(A)什么时候是原子(A)->
L=原子到原子列表(A),
;
术语sexp(B)何时为二进制(B)->
B
术语到sexp(T)何时为元组(T)->
术语_到_sexp(元组到_列表(T));
…%的失踪病例可能
术语到sexp(L)何时为列表(L)->
穿插(“,[term_to_sexp(Item)| | Item[];
散布(X])->[X];
穿插(九月[X|Rest])->
[X,九月|穿插(九月,休息)]。
(也未测试,但需要启动)