introalg:taller07_5
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
introalg:taller07_5 [2007/05/30 01:14] – elemento necesita Eq a => nicolasw | introalg:taller07_5 [2018/08/10 03:03] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 169: | Línea 169: | ||
listadoMuni = [(" | listadoMuni = [(" | ||
</ | </ | ||
+ | |||
===== Manejando cosas más complejas ===== | ===== Manejando cosas más complejas ===== | ||
Línea 190: | Línea 191: | ||
< | < | ||
-- extensión para poder leer archivos en Strings | -- extensión para poder leer archivos en Strings | ||
- | import IOExts | + | import |
-- constante principal con el grafo de la web. | -- constante principal con el grafo de la web. | ||
Línea 198: | Línea 199: | ||
-- carga un archivo en un String, usa IOExts | -- carga un archivo en un String, usa IOExts | ||
leeArchivo :: String -> String | leeArchivo :: String -> String | ||
- | leeArchivo nombre = unsafePerformIO$ readFile nombre | + | leeArchivo nombre = unsafePerformIO $ readFile nombre |
-- transforma el contenido del archivo de String a lista de tuplas | -- transforma el contenido del archivo de String a lista de tuplas | ||
Línea 206: | Línea 207: | ||
where | where | ||
fuente = takeWhile (not.esSeparador) xs | fuente = takeWhile (not.esSeparador) xs | ||
- | todoMenosFuente = drop 1 (dropWhile (not.esSeparador) xs) | + | todoMenosFuente = dropWhile esSeparador |
destino = takeWhile (not.esFinLinea) todoMenosFuente | destino = takeWhile (not.esFinLinea) todoMenosFuente | ||
- | resto = drop 1 (dropWhile (not.esFinLinea) todoMenosFuente) | + | resto = dropWhile esFinLinea |
esSeparador, | esSeparador, | ||
- | esSeparador x = x=='|' | + | esSeparador x = elem x "| " |
- | esFinLinea | + | esFinLinea |
</ | </ | ||
Línea 227: | Línea 228: | ||
Main> take 32 (map fst webGraph) | Main> take 32 (map fst webGraph) | ||
[" | [" | ||
- | |||
- | |||
- | |||
Línea 237: | Línea 235: | ||
Vamos a desarrollar diferentes funciones para obtener información de esta lista. | Vamos a desarrollar diferentes funciones para obtener información de esta lista. | ||
- | * Antes que nada necesitamos | + | * Determinar cuales y cuantas páginas se apuntan a si mismas. |
+ | * Para los siguientes puntos necesitaremos | ||
* //primeros :: [(a,b)] -> [a]// y //segundos :: [(a,b)] -> [b]// que le toman la primera y segunda coordenada a cada elemento de la lista de pares. Sirve para obtener todas las urls fuente y destino respectivamente. Ayuda: con '' | * //primeros :: [(a,b)] -> [a]// y //segundos :: [(a,b)] -> [b]// que le toman la primera y segunda coordenada a cada elemento de la lista de pares. Sirve para obtener todas las urls fuente y destino respectivamente. Ayuda: con '' | ||
* // | * // |
introalg/taller07_5.1180487696.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)