Surrogate icon indicating copy to clipboard operation
Surrogate copied to clipboard

Reading erlang terms from a string.

Open skruger opened this issue 14 years ago • 1 comments

After reading the source to file:consult() this is how to read terms directly from a string.

ErlTerms = "{a,b,c,d}.".

{ok,Tokens,_} = erl_scan:string(ErlTerms).

{ok,Term} = erl_parse:parse_term(Tokens).

Term -> {a,b,c,d}.

skruger avatar Dec 10 '10 05:12 skruger

To parse a fun()

StrTerm = "fun() -> result_atom end.".

{ok,Tokens,_} = erl_scan:string(StrTerm).

{ok,[Expr]} = erl_parse:parse_exprs(Tokens).

erl_eval:expr(Expr,[]).

resulted in: {value,#Fun<erl_eval.20.67289768>,[]}

skruger avatar Dec 10 '10 23:12 skruger