clojure入门(一)-- 综述和预备知识

英文原文地址:http://clojure-doc.org/articles/tutorials/introduction.html

转载请注明译者(Dead_Micky)和出处

本菜鸟英语水平差,欢迎各位大神的批评指导。

该部分包括:

  •   Clojure语言基础
  •   表达式,标识符(locals,vars)
  •   let forms
  •   函数
  •   基本数据类型
  •   不可变数据结构入门
  •   Clojure应用类型总览(vars,atoms,agents,refs)
  •   循环和递归
  •   Clojure宏入门 

该项目遵循Creative Commons Attribution 3.0 UnportedLicense (包括图片和样式表)。


综述

, 这是一个面向入门用户的简短介绍。如果你还没看过 Getting Started,那么请移步。在开始之前请确保你已安装Java sdk 和 Leiningen,并且能够通过Lein创建一个项目和运行REPL。 作者期望你在随着本指导往下走的时候已经打开了REPL。

<span style="font-size:18px;">注释:在随后代码示例中,如果没有多REPL特殊说明,我们将会把前缀(如”User=>”或者”my-proj.core=>”)省略。
此外,在clojure中,注释以一个分号开始,在此文档当中我们使用“; =>”(尾端注释)和“;; =>”(单行注释)用于说明前一个表达式的运算结果。
</span>


本入门文档是一个快速教程且囊括了大部分clojure的基础知识。让你不浪费时间在过多的细节和高级主题(不同的主题将会有更全面的内容覆盖)上,且能够迅速熟悉clojure的核心内容是本文的宗旨。正如我们在Getting Started中所说的,clojure是一门简单而又wonderful的语言,并且你将会爱上她的哦~~~嗷~~


预备知识

,

Clojure是一门多用途的编程语言,并且也是一门实用性很强的语言。Clojure的语言就像Lisp的简单:代码由运算表达式构成。以下是一些例子。

        

5                      ; ⇒ 5
"hi"                   ; ⇒ "hi"
[1 2 3]                ; evaluates to the vector `[1 2 3]`
(+ 1 2)                ; evaluates to the sum of 1 and 2
(if true "yes" "no")   ; evaluates to the string "yes"
(println "hello!")     ; evaluates to nil (but also prints "hello!")

Clojure支持一些额外的语法(extra bits of syntax不知道翻译的对不对),当我们遇到的时候会提示下。

    一个表达式可以包含多个子表达式:

(+ 1
   (* 2 3)
   (/ 10 2))   ; ⇒ 1 + (2 * 3) + (10 / 2) = 12

   

     方括号( brackets)及其中的内容也就是所谓的“forms”。 一个表达式被圆括号括起来可以说是一种函数调用,但宏或者是特殊form(要了解更多请移步Evaluation部分)。 Clojure不对空格敏感。而且空格也可以被逗号替代,所以你可以根据使用喜欢来选择使用哪个(例如你可以将向量写作[1 2 3]或者(1,2,3))。

Clojure 代码是块结构的和基于词法作用域(clojure支持动态域)的。Clojure是一种编译语言。Clojure的reader读取源代码,然后转换为JVM的二进制代码并在java虚拟机中执行。Reader还支持一些(语法糖)。

通过此教程,我们将依靠牛x的clojure cheatsheet  来自由查找需要的内容。并且能够从这里前往相关主题的文档页。在REPL中,你可以通过以下方式查看一个给定的函数的相关文档或者它的源代码。

在REPL中,你可以随时使用如下函数查看相关函数的文档:

(doc some-function)

查看源代码可以使用如下函数:
(source some-function)
      接下来就在你的REPL中快看看效果吧。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值