6、Clojure序列:强大的统一数据处理工具

Clojure序列:强大的统一数据处理工具

1. 一切皆为序列

在Clojure中,每个聚合数据结构都可以被视为一个序列。序列具有三个核心能力:
- 获取序列的第一个元素:使用 first 函数,若参数为空或为 nil ,则返回 nil
- 获取序列中除第一个元素之外的其余元素:使用 rest 函数,若没有更多元素,返回一个空序列(而非 nil )。
- 在现有序列的前面添加一个元素来构造一个新序列:使用 cons 函数。

这些能力在Java接口 clojure.lang.ISeq 中声明。同时, seq 函数可以将任何可转换为序列的集合转换为序列,若集合为空或为 nil ,则返回 nil next 函数返回序列中除第一个元素之外的其余元素的序列,它等价于 (seq (rest aseq))

以下是一些示例代码:

(first '(1 2 3)) ; -> 1
(rest '(1 2 3)) ; -> (2 3)
(cons 0 '(1 2 3)) ; -> (0 1 2 3)

在Clojure中,这些函数不仅适用于列表,还适用于其他数据结构,如向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值