08/05/31 22:32:25
>>399
>>395を
send(Socket,io_lib("~w(~w).",[prolog_call,[append,[list,1,2],[list,3,4],[var,'X']]])
で解決するのが自然かなと。
則ち Prolog:append([1,2],[3,4],X) === Erlang:[append,[list,1,2],[list,3,4],[var,'X']]
と変換する。
Prologからの解は
"[append,[list,1,2],[list,3,4],[list,1,2,3,4]])"
でしょうから、receive して Str にStringを得て、
[_,_,Str2|_]=string:tokens(Str,[32,63]),
[_,_,_,X] = lib_misc:string2value(Str2),
で Erlangの変数 X にPrologのappend/3の第三引数が得られます。