我正在尝试动态评估Erlang术语
启动Erlang
basho-catah% erl
Erlang R16B03 (erts-5.10.4) [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.4 (abort with ^G)
Run Code Online (Sandbox Code Playgroud)
创建一个术语
1> {a,[b,c,d]}.
{a,[b,c,d]}
Run Code Online (Sandbox Code Playgroud)
尝试在同一个词中扫描
2> {ok, Tokens, _ } = erl_scan:string("{a,[b,c,d]}").
{ok,[{'{',1},
{atom,1,a},
{',',1},
{'[',1},
{atom,1,b},
{',',1},
{atom,1,c},
{',',1},
{atom,1,d},
{']',1},
{'}',1}],
1}
3> Tokens.
[{'{',1},
{atom,1,a},
{',',1},
{'[',1},
{atom,1,b},
{',',1},
{atom,1,c},
{',',1},
{atom,1,d},
{']',1},
{'}',1}]
Run Code Online (Sandbox Code Playgroud)
但它无法解析该标记化字符串.
4> Foo = erl_parse:parse(Tokens).
{error,{1,erl_parse,["syntax error before: ","'{'"]}}
Run Code Online (Sandbox Code Playgroud)
我有什么想法我做错了吗?
在Erlang控制台中运行此代码时
Pid = spawn(fun() -> "foo" end),link(Pid),receive X -> X end.
Run Code Online (Sandbox Code Playgroud)
我收到以下错误.
** exception error: no such process or port
in function link/1
called as link(<0.71.0>)```
Run Code Online (Sandbox Code Playgroud)