我需要prolog中的关系来将列表左移一个元素,这样就可以了
?shift([1,2,3],L)
Run Code Online (Sandbox Code Playgroud)
应该产生
L=[2,3,1].
Run Code Online (Sandbox Code Playgroud)
你可以帮帮我吗?
您可以使用append命令将列表的元素组合在一起:
shift([H|T], Y) :-
append(T, [H], Y).
Run Code Online (Sandbox Code Playgroud)
因此,您只需将尾部和头部(按此顺序)附加在一起,然后设置Y
为新创建的列表.请注意,既然H
是元素而不是列表,则必须用它包围它[
并]
使其成为append
函数中的列表.
此外,这里是在Prolog中使用列表的一个很好的基本概述.
归档时间: |
|
查看次数: |
2798 次 |
最近记录: |