如何在 Prolog 中保留变量名?
How to preserve a variable name in 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
(http://www.swi-prolog.org/pldoc/man?predicate=read_term/2) 和 variable_names
选项而不是 read(Line)
:
read_term(Line, [variable_names(['X'=X])])
我正在尝试编写一个程序来评估一个函数并对其进行一些操作。
dynamic evaluate/2.
begin :- writeln("Write your function"), read(Line),
assert((evaluate(X, Y) :- Y is Line)).
由于在 SWI-prolog 中变量名称更改为 _«number»,当我尝试调用 evaluate() 时,它不起作用。
有什么解决办法吗?
谢谢。
使用 read_term/2
(http://www.swi-prolog.org/pldoc/man?predicate=read_term/2) 和 variable_names
选项而不是 read(Line)
:
read_term(Line, [variable_names(['X'=X])])