这里介绍clojure的基本数据类型,不包含集合,列表
1. 数字 Number
1,2,3
=>(def n 12)
2. 字符串 String
"abc"
=>(def name "tom")
3.正则表达式
=>(def r #"[a-z]")
=>(def r (re-pattern "[a-z]"))
例子
(re-matches #"[a-z]+" "test")
->"test"
re-matcher, re-find, re-groups, re-seq
4. 布尔 Boolean
nil和false 为false,其他值都为true
5 字符 Characters
\i, \u00A3
6 关键字 keywords
:a, :b, :c
(keyword "a")
-> :a
(keyword? :a)
-> true
keywords可以是namespaced的, :user/foo, 是user命名空间的一个关键字
::foo 与 :user/foo等价(user是当前命名空间)
相关推荐
Clojure拥有一系列的基本数据类型,包括数字(整数、浮点数)、字符、字符串、关键字(keywords)、符号(symbols)和列表(lists)。在提供的文档片段中,可以看到使用了str函数来合并字符串,例如 `(str "Hello" ...
S表达式是Clojure代码的基本形式,它提供了简洁的表示方式和强大的抽象能力。宏允许程序员在编译时进行代码操作,为创建元编程功能提供了便利。 其次,Clojure强调函数式编程,书中详细讨论了函数、高阶函数、闭包...
1. **基础语法与构造**:这一部分介绍了Clojure的基础语法,包括数据类型、变量定义、条件判断和循环等基本概念。 2. **Clojure标准库**:Clojure的标准库提供了丰富的功能,包括集合操作、文件处理、网络通信等功能...
在学习Clojure的过程中,Handbook介绍了语言的基础知识,如REPL(Read-Eval-Print Loop)交互式环境、变量定义、基本类型、类型判断、执行多条语句的do表达式、条件语句、循环语句、正则表达式、命名空间、结构体...
通过本书,读者不仅可以了解到Clojure的基本语法和概念,还可以学习到如何利用Clojure构建高性能、可扩展的应用程序。此外,本书还涵盖了Clojure的高级特性,如元编程和并发编程,对于想要深入掌握Clojure的开发者来...
2. **动态类型**:Clojure没有显式的类型声明,它使用动态类型系统,这提供了更高的灵活性,但可能需要开发者有较强的类型推理能力。 3. **数据结构**:Clojure的数据结构主要包括向量、列表、映射和集合。这些数据...
通过学习这些资源,你可以建立起对Clojure的基本认识,理解其函数式编程哲学,掌握Clojure的数据结构和控制流,熟悉核心库的使用,并了解如何在实践中利用Clojure的并发特性。对于想要获得Clojure资格认证的开发者来...
在Python-closh中,用户可以利用Clojure的宏系统和数据结构,编写简洁而强大的脚本。 2. **Unix Shell的传统特性**:Python-closh保留了Unix shell的基本操作,如管道(pipelines)、重定向(redirections)、别名...
#### 二、原始数据类型 - **Numbers**:Clojure支持多种数字类型。 - **Literals** - **Long**:整型数值的表示方式。 - 常规表示:`7` - 十六进制表示:`0xff` - 八进制表示:`017` - 二进制表示:`22r1011` ...
- **第1章:Clojure 入门** - 介绍 Clojure 的安装配置、基本语法和数据类型。 - **第2章:函数式编程基础** - 深入探讨函数式编程的核心概念,如纯函数、高阶函数等。 - **第3章:Clojure 的数据结构** - 讲解 ...
2.4 基本类型:Clojure提供了丰富的基本数据类型,如数字、字符串、布尔值等。 2.5 类型判断:Clojure允许程序员通过一些内置函数来判断值的类型。 2.6 执行多条语句:使用do函数可以在一个表达式中顺序执行多条...
4. **动态特性与静态类型兼容**:尽管Clojure是一种动态类型语言,但它能够很好地与Java的静态类型系统协同工作,这使得开发者可以在充分利用Clojure灵活性的同时,利用Java的强大库资源。 5. **宏系统**:Clojure...
在这一章中,作者深入讲解了Clojure中的基本类型、集合数据结构以及序列操作等内容。 - **第4章:使用多方法实现多态** 多方法是Clojure的一个独特特性,它提供了一种比传统面向对象设计更为灵活的方式来实现...