次のように (多かれ少なかれ) 動作する述語を定義する方法はありますか。
% nths(?Indices, ?List, ?Nths)
nths([], _, []).
nths([N|Ns], List, [E|Es]) :-
nth0(N, List, E),
nths(Ns, List, Es).
しかし、明示的なループもラムダもありませんか? maplist
たぶん、またはでできるはずなのですが、わかりfindall
ませんでした...
(もちろん、リストであるList 、整数 [0, list_length) である Indices 、および List のすべてのN 番目のメンバーにのみ当てはまります)
一方、これは非常に短くて明白な定義です....