我是 stackoverflow 和 Prolog 的新手。
我想获取当前年份并将其用于“BD > currentYear”之类的比较中。从我一直在做的研究来看,我认为我需要使用'use_module(library(system))',但我不知道如何......
你能帮助我吗?
谢谢!
我是 stackoverflow 和 Prolog 的新手。
我想获取当前年份并将其用于“BD > currentYear”之类的比较中。从我一直在做的研究来看,我认为我需要使用'use_module(library(system))',但我不知道如何......
你能帮助我吗?
谢谢!
library(system) 中的 datime/1 将执行您想要的操作,例如:
%% test.pl BEGIN
% Ensure datime/1 is available
:- use_module(library(system), [datime/1]).
current_year(Year) :-
datime(datime(Year,_Month,_Day,_H,_M,_S)).
%% test.pl END
然后您可以调用 current_year/1,如下所示:
| ?- current_year(Year), Year >= 2012, write('It is 2012 or later\n').
It is 2012 or later
Year = 2012 ?
yes
| ?-
(注意 Prolog 中的变量必须以大写字母开头,因此currentYear不是有效的变量名。)