【问题标题】:A few questions about "hello world" in clojure关于clojure中“hello world”的几个问题
【发布时间】:2009-09-01 01:58:58
【问题描述】:

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

(println "Hello, world!")
  1. 由于使用了“println”,这是否意味着某些 Java 库默认包含在默认命名空间中,就像在 Grails 中一样?
  2. 为什么语句周围需要大括号?从其他示例(如下)来看,大括号很常见:
    (let [i (atom 0)]
      (defn generate-unique-id
        "Returns a distinct numeric ID for each call."
        []
        (swap! i inc)))
  1. 到目前为止,有任何证据表明 Clojure 可能会流行起来吗?

【问题讨论】:

    标签: clojure


    【解决方案1】:
    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

    【讨论】:

    • 虽然我确实喜欢 Clojure,但请不要像那样使用“充满活力”这个词。它尖叫着营销说话(我们应该说,这并不完全以真理着称)。
    • “充满活力”的意思是“由于振动而发出的声音”,所以我认为只要至少有一个人用他们的声带谈论 Clojure,这实际上是正确的。 :-)
    • Pavel:我知道“充满活力”这个词可以理解为营销语言,但我无法很快找到一个好的替代方案。你有什么建议吗? “相当活跃”或“热闹”怎么样?
    • java.io 默认不导入。仅限java.lang
    猜你喜欢
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2021-09-08
    相关资源
    最近更新 更多