run([H|T]) --> num(H),run(T).
run([T]) --> num(T).
num(increase) --> [increase],{write(1),nl}.
num(decrease) --> [decrease],{write(0),nl}.
在这个解析器中,当给定增加时它打印 1,当给定减少时打印 0。但是,在处理列表的最后一个元素时会出现问题。例如run(A,[increase],[])
打印两个 1。run(A,[increase,decrease],[])
打印一个 1 和两个 0,这是我不想要的。我怎样才能使它正常工作,以便run(A,[increase],[])
打印 1 并run(A,[increase,decrease],[])
打印 1,0 ?