如何在Prolog中定义谓词print()
?
例如,print("You can get" + str(wrong) + "% back with text corrections")
返回true。
我知道有一个内置的谓词,但我想知道如何定义它。
答案 0 :(得分:2)
这不是一个答案,而是一些评论太长的建议。
你可能已经意识到这一点,但是,请记住,定义你的排序纯粹是一种练习,目的是学习Prolog语法。如果您确实需要对内容进行排序,则应始终使用库sort
。
然后," ...但我想知道如何定义它":这是什么意思?这是否意味着您选择了排序算法,但您不确定如何在Prolog中实现它?或者您无法选择多种算法中的一种?或者您不知道存在哪些排序算法?
并提出一个建议:在选择排序算法时,首选一个与单链表一起使用的算法。 Prolog列表与单链表非常相似。
另一个建议是:查看现有代码(作为一个很好地指出的评论者),并查看一个免费的Prolog实现的库代码。例如,可从SWI-Prolog获得here is the full code of a sort。很容易找到,如果你只是花几分钟搜索而不是立即寻求帮助。