sintaxis simbolos mundo hola ejemplos descargar aprender haskell character-encoding ascii

simbolos - haskell sintaxis



¿Cómo obtener un valor ascii de carácter en haskell? (2)

¿Solo te preguntas cómo obtener un valor ascii del carácter en haskell? He intentado usar la función ''ord'' en ghci, según lo que leí aquí:

http://haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/Data-Char.html#6

GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Loading package ffi-1.0 ... linking ... done. Prelude> ord ''a'' <interactive>:1:0: Not in scope: `ord'' Prelude>

¿Qué estoy haciendo mal?


Como indicó Travis Brown en un comentario, debe importar la función ord del módulo Data.Char :

import Data.Char (ord) main = print (ord ''a'')

Solo el módulo Prelude se carga de forma predeterminada, todos los demás módulos deben importarse explícitamente.


También puede utilizar fromEnum . (definido en la clase Enum , de Prelude).

Prelude> :i Char data Char = GHC.Types.C# GHC.Prim.Char# -- Defined in `GHC.Types'' instance Enum Char -- Defined in `GHC.Enum'' instance Eq Char -- Defined in `GHC.Classes'' ...

Por lo tanto, puede usar fromEnum y toEnum , que usa el código ASCII como el valor Int.

Prelude> fromEnum ''A'' 65 Prelude> fromEnum ''a'' 97 Prelude> toEnum 9 :: Char ''/t'' Prelude> toEnum 100 :: Char ''d''