Prolog中的填充列表

Prolog中的填充列表

本文介绍了SWI-Prolog中的填充列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图用数字1,2,3,...,N填充给定长度N的列表.

I am trying to fill a list of given length N with numbers 1,2,3,...,N.

我认为这可以通过以下方式完成:

I thought this could be done this way:

create_list(N,L) :-
    length(L,N),
    forall(between(1,N,X), nth1(X,L,X)).

但是,这似乎不起作用.谁能说我做错了吗?

However, this does not seem to work. Can anyone say what I am doing wrong?

推荐答案

如果我理解正确,则内置谓词numlist/3可以. http://www.swi-prolog.org/pldoc/man?predicate = numlist/3

If I understood correctly, the built-in predicate numlist/3 would do.http://www.swi-prolog.org/pldoc/man?predicate=numlist/3

这篇关于SWI-Prolog中的填充列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 19:52