关于clojure中“hello world”的一些问题

时间:2009-09-01 01:58:58

标签: clojure

我在Clojure中有几个关于Hello World的问题:

(println "Hello, world!")
  1. 由于使用'println',这是否意味着默认情况下默认名称空间中包含一些Java库,就像在Grails中一样?
  2. 为什么声明周围需要括号?从其他例子(如下)来看,大括号是司空见惯的:

    (让[i(原子0)]   (defn generate-unique-id     “为每个调用返回一个不同的数字ID。”     []     (交换!我公司)))

  3. 到目前为止有任何证据表明Clojure可能会流行吗?

1 个答案:

答案 0 :(得分:8)

  1. println是Clojure中的内置函数,恰好与Java(check out the source)中的名称相同。默认导入了一些Java库 (我认为java.iojava.lang)。

  2. 括号是调用函数的语法,来自Lisp。例如,这个函数在Java中调用:

    addTwoNumbers(4, 5);
    

    将在Clojure(和Lisp)中编写如下:

    (addTwoNumbers 4 5)
    
  3. Clojure的社区充满活力,不断发展壮大。查看Google Group