如何在Prolog中保留变量名?

如何在Prolog中保留变量名?,prolog,Prolog,我正试图写一个程序来计算一个函数,并对它进行一些操作 dynamic evaluate/2. begin :- writeln("Write your function"), read(Line), assert((evaluate(X, Y) :- Y is Line)). 因为在SWI prolog中,变量名被更改为«number»,所以当我尝试调用evaluate()时,它不起作用 有什么解决办法吗 谢谢 使用read_term/2()和变量名称选项,而不

我正试图写一个程序来计算一个函数,并对它进行一些操作

dynamic evaluate/2.
begin :- writeln("Write your function"), read(Line),  
              assert((evaluate(X, Y) :- Y is Line)).
因为在SWI prolog中,变量名被更改为«number»,所以当我尝试调用evaluate()时,它不起作用

有什么解决办法吗


谢谢

使用
read_term/2
()和
变量名称
选项,而不是
read(Line)


不知道你想要什么。用于变量名。
read_term(Line, [variable_names(['X'=X])])