Guest id194 Posted November 3, 2006 at 12:53 PM Report #61847 Posted November 3, 2006 at 12:53 PM Numa determinada aula, estivemos a refazer funções que já existem no Haskell para termos prática nestas coisas e vermos como elas funcionam... No entanto, em algumas delas (que usam assinaturas parecidas) eu não entendi certas partes delas e gostava de ficar esclarecido em como é que elas estão a funcionar. Por exemplo, a seguinte função: takeWhile :: (a -> Bool) -> [a] -> [a] takeWhile c (h:t) | c h = h:takeWhile c t takeWhile _ _ = [] O que eu não percebo o que é e como funciona nesta função, são as partes que se encontram coloridas e sublinhadas. A que também está a negrito é que não captei mesmo que condição é e como é que funciona :S Podem explica-las o que são e como funcionam?
Onumis Posted November 3, 2006 at 07:21 PM Report #61935 Posted November 3, 2006 at 07:21 PM ya tb dei isso hoje... nao percebi essa cena... a prof. nao sabe explicar... ja agora Nazgulled, és de LEI?
Rui Carlos Posted November 3, 2006 at 08:16 PM Report #61943 Posted November 3, 2006 at 08:16 PM a função takeWhile recebe uma função como argumento (uma função que recebe um valor do tipo a e devolve um Bool), para além de uma lista. logo em takeWhile c (h:t) o c é uma função e o h é um elemento de uma lista. logo nós podemos fazer c h, ou seja, aplicar a função c ao elemento h. P.S.: em vez de takeWhile c (h:t) | c h =... façam takeWhile funcao (h:t) | funcao h =.... talvez ajude a compreender melhor como funciona (visto que o c vai representar uma função). Rui Carlos Gonçalves
Guest id194 Posted November 4, 2006 at 07:56 PM Report #62113 Posted November 4, 2006 at 07:56 PM @Onumis A prof? Quem é que tens como prof? A mim quem me deu isto foi o JBB e ele explica bem, eu é que já tava a ficar um bocado farto de estar na aula e não tinha o portátil comigo para ir exprimentado o que tava a ser feito no quadro. E sim, sou de LEI. @Rui Carlos Mais uma vez obrigado pela ajuda que me tens dado em Haskell... Realmente a olhar po código n estava a perceber, mas com a tua explicação e exprimentado aqui no ghci, já captei o que significa aquilo tudo.
Onumis Posted November 5, 2006 at 04:53 PM Report #62231 Posted November 5, 2006 at 04:53 PM quem me deu isso foi a Frade... so tenho teoricas com o jbb, mas nunca falou nisso... e eu o meu numero de praxe e 30 - Granadas
Guest id194 Posted November 5, 2006 at 06:18 PM Report #62266 Posted November 5, 2006 at 06:18 PM Não sei... n tenho ido a todas as teóricas, só quando não me dá sono... Mas és de LEI também? E o teu nº e nome de praxe não me diz nada porque eu já não sou caloiro.
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