如何在Prolog中检查值是否为数值?

如何在Prolog中检查值是否为数值?,prolog,Prolog,当有人输入值(年份)时,我想验证该值。即,我想检查该值是否为数字。我不熟悉Prolog。你能帮我做这个吗 提前感谢。在序言中写下规则,根据您的判断,这些规则定义了有效年份。比如说 valid_year(Y) :- integer(Y), Y > 0, Y =< 2014. 有效年(Y):- 整数(Y),Y>0,Y=

当有人输入值(年份)时,我想验证该值。即,我想检查该值是否为数字。我不熟悉Prolog。你能帮我做这个吗


提前感谢。

在序言中写下规则,根据您的判断,这些规则定义了有效年份。比如说

valid_year(Y) :-
  integer(Y), Y > 0, Y =< 2014.
有效年(Y):-
整数(Y),Y>0,Y=<2014。
你可以从这个片段中看到,你的问题基本上没有明确说明:未来如何?还有遥远的过去?其他日历系统呢(有很多)

在SWI Prolog中,有对的广泛支持,但我觉得它肯定超出了您当前的要求