run([H|T]) --> num(H),run(T).
run([T]) --> num(T).
num(increase) --> [increase],{write(1),nl}.
num(decrease) --> [decrease],{write(0),nl}.
このパーサーでは、increaseが指定されている場合は1が出力され、decreaseが指定されている場合は0が出力されます。ただし、リストの最後の要素を処理するときに問題が発生します。たとえば、run(A,[increase],[])
2つの1を出力します。run(A,[increase,decrease],[])
1つと2つの0を出力しますが、これは私が望まないことです。run(A,[increase],[])
1をrun(A,[increase,decrease],[])
印刷して1,0を印刷するように正しく機能させるにはどうすればよいですか?