xenix Posted November 15, 2009 at 04:04 PM Report Share #296319 Posted November 15, 2009 at 04:04 PM Boas! Eu abri este post inicialmente para tirar uma dúvida, mas entretanto descobri a solução. Como deve haver mais gente com a mesma dúvida vou escrever a solução: Imaginem que querem fazer uma função 'f' que recebe um caracter e devolve a posição do mesmo na tavela ascii, estando essa função num ficheiro. module Programa where f :: Char -> Int f c = ord c Ao compilarem este ficheiro, o compilador vai dizer-vos que a função ord "is not in scope", ou seja não existe no prelude. Esta função (ord) apenas existe na biblioteca Data.Char Para funcionar precisam fazer: module Programa where import Data.Char f :: Char -> Int f c = ord c Se quiserem utilizar a função ord ou chr directamente na consola, basta primeiro usarem o comando: :m Data.Char 'm' de module. Pronto isto deve ser básico mas deve haver mais gente com a mesma dúvida, principalmente o resto do pessoal que faltou na semana passada a PF 🙂 Link to comment Share on other sites More sharing options...
Betovsky Posted November 15, 2009 at 07:20 PM Report Share #296360 Posted November 15, 2009 at 07:20 PM Muito bem! Acrescento que quando tiverem algum dificuldade do género podem ir directamente a documentação da API ou então usar o Hoogle ou o Hayoo! E ao pesquisar por ord fiquei a saber (e achei engraçado) que é equivalente a usar a função fromEnum. Ou seja, ao usar o fromEnum não precisam de referenciar nenhum módulo (para além do Prelude). "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now