Clojure: Hello World e Funções #1

26 August 2010

Para rodar seus programas Clojure, além do clojure.zip, você precisa do Java runtime. Precisa ser a versão 5 no mínimo, mas é muito recomendado usar 6 pois melhorias de performance a melhores logs de erros. Vamos analizar um pouco mais da linguagem agora. Quando estamos no prompt, podemos imprimir usando a função println. hello world user=> (println "hello world") | hello world -> nil A segunda linha é o output e a terceira linha, nil, é o retorno da função.
Definindo funções
Como toda linguagem você pode definir suas próprias funções: user=> (defn hello [name] (str "Hello, " name)) ⇒ #'user/hello O que essa linha faz ?
  • defn define uma função.
  • hello é o nome da função.
  • a função hello recebe um argumento, name.
  • str é uma chamada a uma função que concatena argumento em uma string.
O valor de retorno é #’user/hello. O prefixo #’ indica que a função foi guardada em uma variável Clojure, e user é o namespace dessa função.
Usando funções
Uma vez criada a função e guardada em uma variável clojure, podemos chama=la: user=> (hello "anderson") ⇒ "Hello, anderson"
Variaveis especiais
As variáveis que criamos e guardamos no Clojure continuam acessíveis: user=> (hello "anderson") "Hello, anderson" user=> (hello "Caelum") "Hello, Caelum" E agora podemos combinar essas variáveis especiais: (str *1 " and " *2) ⇒ "Hello, Caelum and Hello, anderson"
comments powered by Disqus