miguelsilva94 Posted October 5, 2013 at 05:30 PM Report #527731 Posted October 5, 2013 at 05:30 PM Em SO mac OSX, em vez de usar o aquamacs para criar, gostava de usar o terminal. Sei que dá, já o vi a fazerem, já o fiz só que nao me recordo dos comandos a usar. Googlei e nao encontrei nada. Alguem me arranja a lista de comandos, sff?
miguelsilva94 Posted October 5, 2013 at 06:03 PM Author Report #527732 Posted October 5, 2013 at 06:03 PM já encontrei. o que eu queria era o editor vi desculpem
Rui Carlos Posted October 5, 2013 at 06:12 PM Report #527734 Posted October 5, 2013 at 06:12 PM Basicamente precisas de um editor de texto que funcione na linha de comandos. O Vi (ou o Vim) são opções. Mas também tens Emacs (comando emacs), ou o Nano (comando nano), ambos instalados por omissão no OSX. Pessoalmente prefiro o Vim (nunca me entendi com os atalhos do Emacs), mas se estiveres habituado ao Aquamacs, o Emacs deve ser uma melhor opção. Rui Carlos Gonçalves
miguelsilva94 Posted October 9, 2013 at 03:55 PM Author Report #528201 Posted October 9, 2013 at 03:55 PM ok. obrigado pela resposta
miguelsilva94 Posted October 9, 2013 at 04:53 PM Author Report #528223 Posted October 9, 2013 at 04:53 PM já agora, sabes como uso o editor vi com cores do género do aquamacs, por exemplo?
pwseo Posted October 9, 2013 at 05:14 PM Report #528228 Posted October 9, 2013 at 05:14 PM (edited) Tens que activar as funções para tal. Basta-te usar o comando :syntax on. Ainda assim, aconselho-te a guardares o seguinte ficheiro .vimrc na tua home: set nocompatible syntax on filetype plugin indent on set backspace=start,eol,indent set hlsearch incsearch smartcase ignorecase Ficas assim com um conjunto de definições muito básicas mas bastante úteis, e de certa forma globalmente utilizadas (que poderás (e deverás) personalizar ao longo do tempo). EDIT: isto se tiveres o vim. Não sei se o MacOS X traz consigo o vi ou o vim; o Rui Carlos saberá esclarecer melhor. Edited October 9, 2013 at 05:16 PM by pwseo
miguelsilva94 Posted October 9, 2013 at 05:40 PM Author Report #528234 Posted October 9, 2013 at 05:40 PM ok obrigado. mais uma perguntinha no aquamacs, os parentesis retos nao funcionam, ou entao deve ser por outra combinaçao de teclas que eu nao sei. eu faço alt + 8 e nada....
KiNgPiTo Posted October 9, 2013 at 05:45 PM Report #528236 Posted October 9, 2013 at 05:45 PM Não uso mac, mas pelo que me lembro acho que é Alt + Shift + ( para abrir e o mesmo com ) para fechar..
miguelsilva94 Posted October 9, 2013 at 05:49 PM Author Report #528238 Posted October 9, 2013 at 05:49 PM nao 🙂 alt + shift + ( simplesmente te faz isto ()
KiNgPiTo Posted October 9, 2013 at 05:51 PM Report #528239 Posted October 9, 2013 at 05:51 PM Então não me lembro, deixa um dos iUsers te responder a isso 🙂
Rui Carlos Posted October 9, 2013 at 05:58 PM Report #528240 Posted October 9, 2013 at 05:58 PM Com é emacs no terminal é Alt + 8. Não tenho o Aquamacs para testar. Rui Carlos Gonçalves
miguelsilva94 Posted October 9, 2013 at 07:22 PM Author Report #528244 Posted October 9, 2013 at 07:22 PM (edited) outra coisa. eu estou com um problema grave. o editor vi nao me deteta os tipos das funcoes. exemplo, uma simples funçao para ver se uma lista é vazia teste :: [a] -> Bool teste [] = True teste (x:t) = False >[1,2,3] [1,2,3] devolve sempre a própria lista. ele não está a detetar os tipos Edited October 10, 2013 at 02:42 PM by thoga31 GeSHi
pwseo Posted October 9, 2013 at 07:35 PM Report #528245 Posted October 9, 2013 at 07:35 PM (edited) Antes de mais, o editor não detecta tipos nenhuns, nem é esse o seu trabalho. Isso é o trabalho do interpretador (o ghci). Adiante, quando escreves [1,2,3] no ghci, naturalmente ele devolve-te a lista... O que tu queres é aplicar a função à lista, assim: > teste [1,2,3] False De qualquer modo, a tua questão está um pouco estranha. Tenta reformular para sabermos exactamente o que pretendes que aconteça. Edited October 9, 2013 at 07:38 PM by pwseo
miguelsilva94 Posted October 9, 2013 at 08:49 PM Author Report #528254 Posted October 9, 2013 at 08:49 PM (edited) sim, é o compilador e não o editor. O problema é que o ghci dá-me erros relacionados com os tipos que do meu ponto de vista não deveria dar. o exemplo que eu dei não era bem este. para ver se um elemento pertence a uma lista elem :: a -> [a] -> Bool elem x(h:t) = if x == h then True else x:t elem x[] = False Couldn't match expected type `Bool' with actual type `[a]' In the exp<b></b>ression: x : t In the exp<b></b>ression: if x == h then True else x : t In an equation for `elem': elem x (h : t) = if x == h then True else x : t Failed, modules loaded: none. está a ser frustante porque está-me a dar tudo erro Edited October 10, 2013 at 02:42 PM by thoga31 GeSHi
pwseo Posted October 9, 2013 at 08:59 PM Report #528255 Posted October 9, 2013 at 08:59 PM Estamos a fugir ao âmbito do tópico inicial. De qualquer modo, repara bem: a tua 1ª equação para elem tem dois ramos (devidos ao if): um deles devolve True (que é um Bool) e o outro devolve x:t, que é do tipo [a]. É precisamente isso que o compilador está a dizer-te... tu disseste (na assinatura da função) que o resultado será do tipo Bool, mas um dos ramos do if é de outro tipo. Portanto, o problema é que não estás ainda à vontade com a linguagem 🙂 Para diminuir a frustração, vou solucionar-te este problema, com comentários: elem :: a -> [a] -> Bool elem x [] = False -- nenhum elemento faz parte de uma lista vazia elem x (h:t) = if x == h then True -- se h for igual a x, então devolvemos True else elem x t -- senão, chamamos elem recursivamente no resto da lista (variável t) Repara bem no que eu fiz no else. Para compreenderes a solução é essencial saber em que consiste a recursividade. Por onde estás a estudar? Isso anda um pouco confuso por aí...
miguelsilva94 Posted October 9, 2013 at 11:46 PM Author Report #528293 Posted October 9, 2013 at 11:46 PM sim, nao estou a vontade com a linguagem nem lá perto. no entanto, percebi a solução. enganei-me a copiar da folha de rascunho para o editor. estou a fugir ao assunto que já está esclarecido à muito. obrigado pelas respostas.
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