Ricardo Corin
unread,Oct 30, 2012, 4:38:52 PM10/30/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to seguridad-...@googlegroups.com
hola gente
aca va un ejemplo de una funcion que itera sobre una lista,
revirtiendo el orden:
reverse([], Reversed, Reversed).
reverse([Head|Tail], SoFar, Reversed) :-
reverse(Tail, [Head|SoFar], Reversed).
la idea es que uno si quiere revertir una lista K hace esta llamada:
reverse(K, [], K2)
y K2 contiene la lista revertida. El parametro del medio va llevando
el resultado, inicialmente es [] y al final se copia
con la primera regla en el tercer parametro de resultado.
Si uno no usase ese parametro extra (el del medio), prolog devolveria
un parametro del estilo [X | _G] donde _G es una variable anonima
(representando cualq. cosa)
La idea es que el predicado normalize tiene la misma forma que este ejemplo.
saludos!