Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

phplove

IO Duvida

Mensagens Recomendadas

phplove

viva malta estou com um problema, não estou a ver o como poso fazer para por uma função normal numa de IO

ca vai o exemplo

dapipe :: String->String
dapipe [] = "|"
dapipe (h:t)="|"++[h]++ dapipe t

ver :: String -> IO String
ver f  = do {
             r<-dapipe(f)
             return r;
             }   

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

Ao usares o operador <- com a função dapipe estás a dizer que esta devolve um Monad, o que não é verdade. Lê isto para ver se percebes o que quero dizer.

Tu nesse caso, apenas tens de fazer o return, porque o que este faz é construir um Monad com algo lá dentro, sendo esse algo o argumento da função return. Como nesse caso, o argumento é uma string, ele vai construir um Monad String.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
phplove

entao sera uma coisa assim

ver :: String -> IO String
ver f  = do 
            {
            return (dapipe f);
            }   

Partilhar esta mensagem


Ligação 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. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.