自己尝试使用erl_eval做一些联系,发掘改模块的功能:
[code="shell"]
# erl
Erlang R14B (erts-5.8.1) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.1 (abort with ^G)
1> Binding1 = erl_eval:new_bindings().
[]
2> Binding2 = erl_eval:add_binding('A', 1, Binding1).
[{'A',1}]
3> Binding3 = erl_eval:add_binding('C', 2, Binding2).
[{'A',1},{'C',2}]
4> rel_eval:binding('A', Binding3).
** exception error: undefined function rel_eval:binding/2
5> erl_eval:binding('A', Binding3).
{value,1}
6> erl_eval:binding('B', Binding3).
unbound
7> erl_eval:bindings(Binding3).
[{'A',1},{'C',2}]
8> erl_eval:del_binding('A', Binding3).
[{'C',2}]
9> erl_eval:binding('C', Bin
[code="shell"]
# erl
Erlang R14B (erts-5.8.1) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.1 (abort with ^G)
1> Binding1 = erl_eval:new_bindings().
[]
2> Binding2 = erl_eval:add_binding('A', 1, Binding1).
[{'A',1}]
3> Binding3 = erl_eval:add_binding('C', 2, Binding2).
[{'A',1},{'C',2}]
4> rel_eval:binding('A', Binding3).
** exception error: undefined function rel_eval:binding/2
5> erl_eval:binding('A', Binding3).
{value,1}
6> erl_eval:binding('B', Binding3).
unbound
7> erl_eval:bindings(Binding3).
[{'A',1},{'C',2}]
8> erl_eval:del_binding('A', Binding3).
[{'C',2}]
9> erl_eval:binding('C', Bin