Še bolj postopkovno razloženo :) če ni reza dobiš tole:
| ?- split([1,2,-3],P,L) . L = [-3], P = [1,2] ? ; L = [2,-3], P = [1] ? ; L = [1,-3], P = [2] ? ; L = [1,2,-3], P = [] ? če pa je pa samo pravilno: | ?- split([1,2,-3],P,L) . L = [-3], P = [1,2] ? ; 2008/6/21 Miha Cerar <[EMAIL PROTECTED]>: > verzija brez reza lahko pri vračanju kliče cilj class(X, positive/negative) > ne glede na to, kakšen je X > > 2008/6/21 Matjaz Horvat <[EMAIL PROTECTED]>: > > REZ >> split([],[],[]). >> split([X|R],[X|R1],N):-class(X,positive),!, split(R,R1,N). >> split([X|R],P,[X|R1]):-class(X,negative), split(R,P,R1). >> >> BREZ >> split([],[],[]). >> split([X|R],[X|R1],N):-class(X,positive), split(R,R1,N). >> split([X|R],P,[X|R1]):-class(X,negative), split(R,P,R1). >> >> Najdite in razložite problem pri verziji brez reza (verzija brez reza >> lahko >> pri vračanju >> kliče cilj class(X, positive/negative) ne glede na to, kakšen je X). >> >> V čem je torej problem, če ni reza? >> >> lpM >> > >
