Clojure安装与入门

栏目: 编程语言 · Clojure · 发布时间: 5年前

内容简介:clojure是lisp语言在java上的方言,clojure视代码为数据,且拥有一套lisp宏系统。Clojure提倡不可变性与持久数据结构,并鼓励程序员显式地管理标识及其状态。对利用不可变值及显式时间进展构造进行编程的专注旨在促进更加健壮的(尤其是多线程)程序的开发。Clojure的类型系统是完全动态的,但人们近期也开始探索其基于渐进类型化的实现。

clojure是lisp语言在 java 上的方言,clojure视代码为数据,且拥有一套lisp宏系统。

Clojure提倡不可变性与持久数据结构,并鼓励 程序员 显式地管理标识及其状态。对利用不可变值及显式时间进展构造进行编程的专注旨在促进更加健壮的(尤其是多线程)程序的开发。

Clojure的类型系统是完全动态的,但人们近期也开始探索其基于渐进类型化的实现。

安装

Leiningen

这是一个用于管理、运行clojure的工具。

Mac/Linux

wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein

chmod 755 ./lein

sudo ./lein /usr/bin/

# run the install script
lein

Windows

下载: lein.bat

执行上述下载的脚本。

Calva

建议使用 Visual Stdio Code 作为IDE(相信我,你会爱上她的),然后安装 Calva 插件。

以上,这样就完成了开发环境搭建。

REPL

REPL的含义是“Read-Eval-Print Loop”,即“读取-执行-输出 循环”,就是交互式编程的意思。下面我们进入clojure的交互式编程:

lein repl

然后在终端输入 (println "Hello, World!") ,即可看到coljure版本的 Hello World 了。

Project

接下来,我们学习项目版的 hello world ,即新建一个项目,新建几个文件,用文件的形式来输出 hello world ,搞定这个,我们就可以用coljure来开发项目了。

好了,执行:

lein new hello-world

然后用 VS Code 打开这个这个文件夹,我们就可以看到一个较完整的Clojure项目了。打开文件 project.clj ,这里是项目的一些设置项:

(defproject hello-world "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0"
            :url "https://www.eclipse.org/legal/epl-2.0/"}
  :dependencies [[org.clojure/clojure "1.10.0"]]
  :repl-options {:init-ns hello-world.core})

打开 src/hello-world/core.clj ,可看到lein已经为我们生成了一个 hello world 脚本,如下:

(ns hello-world.core)

(defn foo
  "I don't do a whole lot."
  [x]
  (println x "Hello, World!"))

里面有一个方法 foo ,下面我们在 project.clj 中添加一行 :main hello-world.core ,如下:

(defproject hello-world "0.1.0-SNAPSHOT"
  :main hello-world.core
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0"
            :url "https://www.eclipse.org/legal/epl-2.0/"}
  :dependencies [[org.clojure/clojure "1.10.0"]]
  :repl-options {:init-ns hello-world.core})

src/hello-world/core.clj 略作修改:

(ns hello-world.core)

(defn -main [& args]
  (println "Hello, World!"))

最后,执行: lein run

Hello, World!

如果看到了这个,恭喜你开启了clojure的大门。

参考

  1. Clojure Style
  2. Clojure Wikipedia
  3. Calva
  4. Leiningen Install
转载请注明出处

http://zgljl2012.com/clojureru-men-hello-world/


以上所述就是小编给大家介绍的《Clojure安装与入门》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Android和PHP开发最佳实践

Android和PHP开发最佳实践

黄隽实 / 机械工业出版社华章公司 / 2013-3-20 / 79.00元

本书是国内第一本同时讲述Android客户端开发和PHP服务端开发的经典著作。 本书以一个完整的微博应用项目实例为主线,由浅入深地讲解了Android客户端开发和PHP服务端开发的思路和技巧。从前期的产品设计、架构设计,到客户端和服务端的编码实现,再到性能测试和系统优化,以及最后的打包发布,完整地介绍了移动互联网应用开发的过程。同时,本书也介绍了Android系统中比较有特色的功能,比如Go......一起来看看 《Android和PHP开发最佳实践》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换