2011-01-01 12 views
10

Estoy tratando de hacer una diferencia en las listas. Se encuentra directamente el operador de preludio \\\\ que hace la diferencia de listas. Pero se produce el error Not in scope: '\\\\'. Aquí está mi simple de intérprete de línea de comandos:Haskell enumera la diferencia

Prelude> ([1,2,3] ++ [5,6]) -- works like expected 
[1,2,3,4,5,6] 

prelude> ([1,2,3] \\\\ [1,2]) -- erros occurs 
<interactive>:1:11: Not in scope: "\\\\" 

Gracias por la explicación donde me equivoco.

Respuesta

29

Es \\, no \\\\. Y necesita import Data.List.

Prelude List> import Data.List 
Prelude List> ([1,2,3] \\ [1,2]) 
[3] 
+1

O con los módulos jerárquicos, 'import Data.List'. (Aunque en GHCi, necesitas usar ': module + Data.List' en su lugar.) –

+2

wow! Para mí es un descubrimiento que puedes simplemente 'Prelude> importar Data.List' en ghci. Siempre utilicé ': m + Data.List' –

+4

@max taldykin, aunque no esté relacionado, también puede disfrutar': set prompt ">>>" ', o cualquier cadena que desee. Llego al punto en que la lista de módulos que he importado ocupa una línea completa de mi consola, lo cual no es divertido. – luqui

Cuestiones relacionadas