2016-06-17 3 views
0

Это предикат, который должен писать обратно из списка, но так как «tab (-2)» не работает, мне было интересно, существуют ли другие предикаты или по-другому использования 'tab/1' для того, чтобы двигаться назад. (Использование опции 'reverse/2' в данном случае не является опцией).SWI-Prolog, запись назад

Im довольно новый для всего этого, поэтому я надеюсь, что все сделал правильно, любая помощь будет оценена по достоинству.

snakeprint([X|Xs],Counter1,Counter2,Y,2):- 
    tab((Y*3)-3),        
    write(X),         
    tab(-2),         
    C1 is Counter1-1, 
    snakeshift([X|Xs],V), 
    snakeprint(V,C1,Counter2,Y,2). 

ответ

0
snakeprint([H|T]) :- 
    snakeprint(T), 
    write(H). 

snakeprint([]). 


Input: ["M", "a", "r", "y", " ", "h", "a", "d"] 
Output: dah yraM 
Смежные вопросы