小编bry*_*sho的帖子

Erlang试图评估一个字符串

我正在尝试动态评估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 evaluation term erlang-shell

0
推荐指数
1
解决办法
691
查看次数

Erlang从erl中生成简单的进程..没有这样的进程或端口

在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)

erlang erlang-shell

0
推荐指数
1
解决办法
297
查看次数

标签 统计

erlang ×2

erlang-shell ×2

evaluation ×1

term ×1