我正在尝试编写一个规则来比较两个原子以查看哪个更好例如(memory_with_gb_2 比 memory_with_gb_1 更好),我在 SWI-prolog 中编写和尝试的内容如下:
better_attribute3_in(Attribute3_in,Attribute3):-
atom_codes(Attribute3,List_Attribute3),
startsWith(List_Attribute3,Attribute3_Start,Rest_Attribute3_List),
atom_to_term(Rest_Attribute3_List,Attribute3_Number,_),
number(Attribute3_Number),
atom_codes(Attribute3_in,List_Attribute3_in),
startsWith(List_Attribute3_in,Attribute3_in_Start,Rest_Attribute3_in_List),
atom_to_term(Rest_Attribute3_in_List,Attribute3_in_Number,_),
number(Attribute3_in_Number),
Attribute3_in_Number>=Attribute3.
这在 SWI-Prolog 中运行良好,但是当我在 SICStus Prolog 中尝试它时,它似乎不起作用,无论如何要在 SICStus 中实现上层代码。