3

私はプロローグの初心者であり、次のようなリストをフラット化しようとしています。

X = [[[0,0,1],[1,0,2]],[[0,1,3],[0,2,2]],[[0,3,5],[0,4,4]],[[0,5,4],[0,6,5]]]

必要な出力は次のとおりです。

X = [[0,0,1],[1,0,2],[0,1,3],[0,2,2],[0,3,5],[0,4,4],[0,5,4],[0,6,5]]

これどうやってするの?

4

1 に答える 1

1

再帰を使用してください:-)

myflatten([], []).
myflatten([[A, B]|T], [A|[B|FlattenedT]]) :- myflatten(T, FlattenedT).

そして、次のクエリを実行します。

?- myflatten([[[0,0,1],[1,0,2]],[[0,1,3],[0,2,2]],[[0,3,5], [0,4,4]]、[[0,5,4]、[0,6,5]]]、X)。

于 2011-07-12T03:35:28.600 に答える