nuno35 Posted November 3, 2018 at 04:37 PM Report #612266 Posted November 3, 2018 at 04:37 PM Boa tarde tenho este código muito simples mas que me esta a dar erros alguém me consegue explicar porque? func :: (Char,Integer) -> Double func tuplo = (o + 452 * i) where o = (tuplo!!1) i = (elemIndices tuplo!!0 "ABCDEFGHIJKL")!!0 esta a dar me erro basicamente nas especificações das duas variáveis: • Couldn't match expected type ‘[a]’ with actual type ‘(Char, Integer)’ • In the first argument of ‘(!!)’, namely ‘tuplo’ In the expression: (tuplo !! 1) In an equation for ‘o’: o = (tuplo !! 1) • Relevant bindings include o :: a (bound at t3_fc48542.hs:10:9) aparece o mesmo para a especificação do i Desde já Obrigado
Rui Carlos Posted November 3, 2018 at 06:31 PM Report #612269 Posted November 3, 2018 at 06:31 PM Estás a tentar aceder a um tuplo como se o mesmo fosse uma lista. Em vez de tuplo!!1, provavelmente devias ter snd tuplo, por exemplo. Rui Carlos Gonçalves
nuno35 Posted November 3, 2018 at 08:09 PM Author Report #612270 Posted November 3, 2018 at 08:09 PM entretanto já consegui fazer era mesmo isso e resolvi exatamente dessa maneira muito obrigado Já agr estou aqui com um erro de divisão eu faço um fold que me da um Double e depois quero dividir esse numero por 3 mas nao estou a conseguir se fizer assim /3 da me erro e se usar o div ele so me divide para um inteiro como é que posso fazer essa divisão? Desde Já obrigado
Rui Carlos Posted November 3, 2018 at 10:18 PM Report #612271 Posted November 3, 2018 at 10:18 PM Não podes aplicar o operador / a inteiros. Usa a função fromIntegral para converteres os valores antes de dividir. Rui Carlos Gonçalves
nuno35 Posted November 5, 2018 at 11:20 AM Author Report #612293 Posted November 5, 2018 at 11:20 AM (edited) Já consegui muito Obrigado Edited November 5, 2018 at 11:39 AM by nuno35
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now