17.8. Envoltorios y ayudantes

A menudo es útil dividir una operación de listas en dos métodos.

Por ejemplo, para imprimir una lista invertida en el formato convencional [3, 2, 1] podemos usar el metodo imprimeAlReves para imprimir 3, 2, pero necesitaremos un metodo aparte para imprimir los corchetes y el primer nodo. Llamémoslo imprimeAlRevesBonito:

   1: def imprimeAlRevesBonito(lista) :
   2:         print "[",
   3:             if lista != None :
   4:             cabeza = lista
   5:             cola = lista.siguiente
   6:             imprimeAlReves(cola)
   7:         print cabeza,
   8:     print "]",

 

De nuevo, vemos que es buena idea comprobar métodos como este para ver si funcionan con casos especiales como una lista vacía o un singleton.


Cuando usamos este metodo en algún otro lugar del programa, llamamos directamente a imprimeAlRevesBonito, y este llama a imprimeAlReves en nuestro lugar. En cierto modo, imprimeAlRevesBonito actúa como un envoltorio, y utiliza a imprimeAlReves como su ayudante.

0