% nacteni:
/* ['1.2_16.pl']. */
% ve SWISH muze hlasit chybu "No permission to call sandboxed `tab(_4808)'"
% reseni viz https://github.com/SWI-Prolog/swish/issues/119
tiskniseznam(S):-write('seznam=['),nl,tiskniseznam(S,1).
tiskniseznam([],_):-write(']'),nl.
tiskniseznam([H|T],N):- tab(4),write(N),write(': '),write(H),nl,N1 is N+1,tiskniseznam(T,N1).
% demonstracni vypis
% abychom se vyhli varovanim "Redefined static procedure ..."
:- dynamic
start/0.
start:-
write('Program vytiskne zadany seznam. Napr.:'),nl,nl,
write('Vysledek dotazu "tiskniseznam([a, b, c])." je:'),nl,
tiskniseznam([a, b, c]),nl,
write('Vysledek dotazu "tiskniseznam([a, b, [c1, c2, c3], d, `mezi d a e`, e])." je:'),nl,
tiskniseznam([a, b, [c1, c2, c3], d, 'mezi d a e', e]).
?-start.
:- retractall(write_all_X/3).
:- retractall(start/0).
Program vytiskne zadany seznam. Napr.:
Vysledek dotazu "tiskniseznam([a, b, c])." je:
seznam=[
1: a
2: b
3: c
]
Vysledek dotazu "tiskniseznam([a, b, [c1, c2, c3], d, `mezi d a e`, e])." je:
seznam=[
1: a
2: b
3: [c1,c2,c3]
4: d
5: mezi d a e
6: e
]
|