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

Nazgulled

[Haskell] Construir strings e dps -> IO String

Mensagens Recomendadas

Nazgulled    8
Nazgulled

Eu tenho algo do genero:

a <- func1
((b,_):a) <- func2
let s1 = b
((b,_):a) <- func2
let s2 = s1 ++ b
((b,_):a) <- func2
let s3 = s2 ++ b

return s3

Só queria saber se ha forma de usar apenas uma variavel "s" em vez de usar "s1", "s2" e "s3" é que não tou a ver como... tentei algo como: let s = s + b, como funciona em certas linguagens, mas em haskell não funciona...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rui Carlos    309
Rui Carlos

tentei algo como: let s = s + b, como funciona em certas linguagens, mas em haskell não funciona...

esse tipo de coisas só é possível quando existe um "estado".

em Haskell para teres um estado precisas de usar monads. em certas situações justifica-se, mas neste caso só ia complicar.

assim à primeira vista, podias simplificar isso se usasses 3 b's.

a <- func1
((b1,_):a) <- func2
((b2,_):a) <- func2
((b3,_):a) <- func2
return (b1++b2++b3)

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 a nossa Política de Privacidade