¿Pero qué es lo que quieres hacer?

Me acuerdo de que leí una vez una nota interesante sobre alquien que quería saber cómo saber cuándo está en el último elemento de una lista. Es medio complicado, lo que puede hacer es revisar el apuntador al siguiente elemento y ver que no sea nulo. Ah, pero está en Java. Y sale que es un relajo hacer eso.

Fabulous Adventures In Coding: Restating the problem

Pero, el punto es, ¿para qué quiere saber cuándo está en el último elemento? Ah, pues está creando una cadena a partir de una lista; la lista es tipo [1 2 3 4 ...] y la cadena tiene que ser tipo "1, 2, 3, 4, ...". Quiere saber si está en el último elemento para no agregar la coma.

Con ese conocimiento, de saber para qué, el problema se vuelve mucho más fácil: agrega el primer elemento sin coma, y después pon un espacio y una coma antes, no después, de cada uno de los demás elementos de la lista.

[principio de la parte aburrida]

¿A qué viene esto? Pues a que me estaba complicando de más para hacer el simulador para el proyecto. Diseñé todo un esquema general de cómo reservar memoria, manejarla, asociarla a operaciones, etc. ¿Y de qué se trata el proyecto? De mejorar el manejo de memoria de GAP. Pero, no olvidar, GAP ya tiene manejo de memoria.

El problema, que parecía que necesitaba desarrollar un simulador que hiciera todo el trabajo del manejador de memoria del sistema operativo, se reduce a tomar los objetos vivos del recolector de basura, tomarles los datos, organizarlos sobre una estructura de datos y aplicarles un algoritmo de desalojo. De repente el problema se vuelve un orden de magnitud menos complicado.

Powered by Drupal, an open source content management system