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

HIT_Braga

Ajuda IO e não só

4 mensagens neste tópico

Boas.

Tenho uma função IO que lê um ficheiro e devolve o seu conteúdo (no caso dois Inteiros).

carregardime = do
                 conteudo <- readFile ("tabuleiro.gseg")
                 let ncol1=fst$transf conteudo
                     nlin1=snd$transf conteudo

Até aqui tudo ok.

O pior é que eu quero usar estes valores para me fazerem duas funções e dá erro.Estas funções estão num ficheiro à parte.

iniciar::Tabuleiro
iniciar=[(gerazeros)|y<-[1..ncol1]]
--Gera listas com zeros
gerazeros::[int]
gerazeros =[0|y<-[1..nlin1]]

NOT IN SCOPE nlin1

NOT IN SCOPE ncol1

Gostava que ele usa-se os valores que estão no ficheiro, pois assim definia o tamanho que queria em ficheiro e voilá.

Alguém dá umas dicas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que tens de guardar os valores do ficheiro em 2 variáveis e depois passas cada uma delas nas funções.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O Haskell é uma linguagem funcional, e não tem estado! E mesmo numa linguagem tipo o C, as variáveis nlin1 e ncol1 seriam locais à função e não estariam disponíveis. Para melhorar, não estás a chamar a função carregardime.

Podes começar por pôr a função carregardime a devolver os valores que queres usar, e depois, chamando a função e colocando o seu resultado numa variável, terás acesso aos valores onde quiseres.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas

Rui Carlos podes explicar-te melhor.

Nao percebi bem a ideia.

Podes pastar ai um pouco de código do tipo???

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