• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Nazgulled

[Haskell] Construir strings e dps -> IO String

3 mensagens neste tópico

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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)

0

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