Prolog初学者帮助获取当前时间

我正在修改Eliza程序 http://cs.nyu.edu/courses/fall11/CSCI-GA.2110-003/documents/eliza.pl,试图让它在用户询问“现在几点?”时打印系统时间。经过数小时的阅读手册后,我终于让我的get_date_time_value()函数工作了。如下所示:

get_date_time_value(Key, Value) :- get_time(Stamp), stamp_date_time(Stamp, DateTime, local), date_time_value(Key, DateTime, Value).

然而,我不知道如何从我的规则中调用这个函数,我的规则定义如下:

rules([[time,0],[    [1,[_],0,            [please,do,not,get_date_time_value(time,x),.],            ['I',dont,know,the,time,.]]]]).

是的,这是我的作业,可能对专家来说这听起来很傻,但我对Prolog编程真的很新手,尽管我在面向对象和函数式编程方面有相当多的经验。不管我传递什么参数给get_date_time_value(time,X)函数,我总是得到一个错误。我整晚都在尝试各种方法,但没有任何效果。任何建议都会非常有帮助!谢谢


回答:

从结构上看,我猜它应该看起来像这样:

rules([[time,0],[    [1,[_],0,            [it,is,HourLiteral,oclock,.],            ['I',dont,know,the,time,.]]]]) :- get_date_time_value(hour, HourNumber), number_codes(HourNumber, HourString), atom_string(HourLiteral, HourString) .

我不知道它是否能工作。我没有测试过。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注