¿Cómo entro al REPL de clojure?
java-jar clojure-1.3.0-RC0.jar
Debe salir esto:
user=>
¿Cómo salgo del REPL?
En Windows: Ctrl + C
En Linux: Ctrl + D
Hace tiempo que quería probar este lenguaje, y aprovechando las vacaciones por fin pude. Si Scala y Ceylon se me hacían algo "extraños", este en verdad si que lo es.
Hacer una sumatoria es bastante fácil (al menos así parece):
user=> (+ 3 4 5 6)
18
En Java:
Sumatoria.java
package com.pruebas.01;
public class Sumatoria{
public static void main(String[] args)throws Exception{
int suma=0;
if(args.length!=0){
for(String e: args){
suma+=Integer.parseInt(e);
}
System.out.println("sumatoria: "+suma);
}else{
System.out.println("nada que evaluar");
}
}
}
javac -g Sumatoria.java
java Sumatoria 3 4 5 6
sumatoria: 18
Otros lenguajes
Python .py
msg="Un simple mensaje en Python"
print msg
Scala .scala
var msg="Ahora en Scala";
println(msg)
Groovy .groovy
def msg="Y otro más en Groovy"
println("${msg}")
Ceylon .ceylon
String msg="Y además en Ceylon";
print(msg);
Java .java
String msg="Y en el poderoso Java";
System.out.println(msg);
Clojure .clj
user=> "Tratando de usar clojure"
"Tratando de usar clojure"
user=> (new java.util.Date)
#Date Tue Apr 03 11:23:43 CDT 2012
Lista.java
import java.util.List;
import java.util.ArrayList;
public class Prog22{
public static void main(String[] args)throws Exception{
List<Integer> lista=new ArrayList<Integer>();
if(args.length!=0){
for(String e: args){
lista.add(Integer.parseInt(e));
}
System.out.println("lista: "+lista);
}else{
System.out.println("nada que evaluar");
}
}
}
En clojure
user=> (list 12 33 21)
(12 33 21)
Otros ejemplos
Ejecutar programa *.cjl
java -jar clojure-1.3.0-RC0.jar prog01.cjl
Cambiar el prompt dentro del shell
user=> (ns programador-clojure
(:use clojure.xml))
Crear una función
(fn [x,y] (* x y))
(def producto (fn [x,y] (* x y)))
;; para usar
(producto 5 43) ;; debe dar 215
¿Qué es Clojure?
Links
- http://www.moxleystratton.com/article/clojure/for-non-lisp-programmers
- http://clojure.org/downloads
- http://in.relation.to/Tutorials/IntroductionToCeylon
- http://try-ceylon.rhcloud.com/
IDEs para clojure
- clooj https://github.com/arthuredelstein/clooj [IDE]
- Clojure Box http://clojure.bighugh.com/ [IDE]
- lazytest https://github.com/stuartsierra/lazytest[IDE para pruebas]
- enclojure http://enclojure.org/[Plugin para NetBeans]
No hay comentarios:
Publicar un comentario