Ir para o conteúdo
Mabc

Dúvida - [String]

Mensagens Recomendadas

Mabc    0
Mabc

Estou a fazer um projecto, mas tenho algumas dúvidas a trabalhar com IO.

Se me pudessem ajudar ficaria muito agradecida.

Eu pretendo transformar uma lista de strings num IO. Sei que o readIO transforma uma string num IO, e que a hipótese de fazer um map do readIO na lista de strings não funciona.

Como o projecto já está avançado, seria bastante complicado "desdobrar" a lista de strings numa só para se aplicar o readIO. O ideal seria mesmo um readIO aplicado a uma lista de strings.

Obrigada e bom ano :confused:

Mabc

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Mabc    0
Mabc

Sim, era isso que pretendia.

Mas se fizer realmente um map do readIO, fico com uma lista de IO, penso eu.

(Pelo menos dá-me um erro, diz que espera um tipo "IO [a]" mas recebe um tipo "[b0]")

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Baderous    31
Baderous

Visto que queres aplicar um read nos conteúdos da lista, suponho que saibas qual o tipo para o qual queres converter as strings (Int, Float, etc). Assim, basta fazer um map do read a cada elemento da lista, convertendo-o para o tipo que queres, e depois fazes return para construir o monad com a lista.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Betovsky    2
Betovsky

mapReadIO :: [string] -> IO [a]

Se a ideia é esta assinatura, então pode ser simplesmente:

mapReadIO = return . map read

Mas tou com uma ideia que não é bem isto que pretendes.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade