1

我是 stackoverflow 和 Prolog 的新手。

我想获取当前年份并将其用于“BD > currentYear”之类的比较中。从我一直在做的研究来看,我认为我需要使用'use_module(library(system))',但我不知道如何......

你能帮助我吗?

谢谢!

4

1 回答 1

1

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不是有效的变量名。)

于 2012-11-06T07:53:51.170 回答