のようなリストに要素のリストが[1,2,+]
あり、それらを 1 つの要素としてスタックにプッシュしたいと考えています。角かっこの間に入れることでそれを行うことができますが、これにより出力に角かっこが表示されます。たとえば、リスト [1,2,+] の要素をスタックにプッシュしたいとします。
stack([1,2,+],S,Y).
どこstack
にある:
stack(T,S,[T|S]).
問題は、より多くの式をスタックにプッシュすると、ネストされたブラケットが作成されることです。たとえば、 を取得しますが[[+,1,2],[*,3,4]]
、 が必要です[+,1,2,*,3,4]
。どうすればこれを達成できますか?