clojure 入门(2)

学习任何语言的共同点都是多实践。比如,一边看书,一边动手做实验。

我们首先需要一个顺手的clojure开发环境。

当然,使用clojure的最简单方式是:命令行 + 记事本。

到clojure的官网下载jar包:clojure-1.8.0.jar(这是写博客时的版本,您看博客的时候可能有更新版本了)

在控制台输入:(前提是你的机器上已经安装过java了)

java -jar clojure-1.8.0.jar

这会启动REPL,交互式环境。

java -cp clojure-1.8.0.jar clojure.main

这是另一种方法,效果等同。启动REPL后,出现类似:

 

可以输入clojure代码,与机器交互了。

比如:

可能你已经注意到:clojure的特色之一:表达式采用“前缀”模式,而一般主流语言采用“中缀”模式。

上边也演示了clojure的“有理数”类型。这种“分数运算”好处是不会损失精度。

同时还看到了“nil”,这是因为函数式的规则是:每个表达式“必须”返回一个值。而“println”不是一个纯函数,我们执行它是为了副作用。

如果已经编写了一个clojure源程序 a.clj

运行它的方法是:java -jar clojure-1.8.0.jar a.clj

每次输入这么长,太折磨人了。你可以做一个 clj.bat 文件:

java -jar clojure-1.8.0.jar %1

这以后,启动REPL用:clj

运行源文件用: clj a.clj

记事本毕竟太弱弱了,除非别无选择才用它。

下面介绍好用的编辑器。

sublimeText

可以从官网下载sublimeText3 ,可以一直免费使用。

其功能不比付费版本少,只是时不时弹出窗口要你注册,一直到您良心发现付费为止。

这个软件是绿色的。也就是实际上并不需要安装,拷贝过来就可以用。

但注意:软件所在的位置最好不要有中文路径名,因为该软件会自动更新,如果名字不好会更新失败的。

安装好后,开始折腾插件。

1. 安装 package controler

启动sublimeText, 按 ctrl + ` (tab 上方的键) ,显示出控制台(console)

这个功能也可以通过菜单完成: view | show(hide) console,效果完全相同。

然后把如下的脚本贴进去执行(这个脚本有多个语句,但只有一行,按回车就会执行了):

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

安装成功的标志是:

此时,perferences 下多了一项:package control

2. 安装clojure插件

运行package control, 

输入install packages, 等待准备列表的完成.....。

输入clojure, 会出现相关列表,选自己需要的,等待安装完成。

至此,就可以括号比配,语法高亮显示了。

3. 编译设置

如要编译方便,还需一步努力:

菜单:tools | build system | new build system ....

输入:

"shell_cmd": "java -cp D:/你的文件位置/clojure-1.8.0.jar clojure.main $file",
"encoding": "cp936"

第二行是为了能正确向控制台输出中文。

保存的时候,文件名第一节的名字改为clojure就可以了。

现在,在 tools | build system 里边勾选clojure,下次编译按ctrol+B,就会执行编译、运行的命令。

其实,如果你如前面所述,做好了bat文件。也可以写成:"shell_cmd": "clj $file",其中道理想必你立刻领悟了吧。

原文地址:https://www.cnblogs.com/gyhang/p/6043099.html