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

Polmax

Data de um Data

Mensagens Recomendadas

Polmax    0
Polmax

Tou com dificuldades em usar um data em que cada construtor recebe um outro data.

data A = A String

data C =C String

data F =W A |X C

como seria uma função muitoooo simples que me passa-se valores para data F ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Polmax    0
Polmax

Obrigado  :cheesygrin:

alias tenho mais uma duvida

quero isto

data Multi = L A |Z B
data A = A String
data B =B String
multi :: [A]->[b]->[Multi]
multi [] []=[]
multi (x:xs) (x1:xs1) =L x : multi xs :Z x1:multi xs1

pegar numa lista de um data A e num data B e formar uma lista de Multi

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Polmax    0
Polmax

Nao percebo , supostamente eu podia fazer pelo menos isso nao  ?

multi a b =[L (head a) : multi (tail a)]:[Z (head b) : multi (tail b)]

tambem ja tentei [L (head a), multi (tail a),Z (head b) ,multi (tail b)]

Partilhar esta mensagem


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

Nao percebo , supostamente eu podia fazer pelo menos isso nao  ?

multi a b =[L (head a) : multi (tail a)]:[Z (head b) : multi (tail b)]

Não, não podes fazer isso.

O operador ':' adiciona um elemento à cabeça da lista.  Precisas do operador '++' para concatenar duas listas.

Uma troca de operador na função acima (e possivelmente uns parentesis), e devia ficar a funcionar :)

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