TeaScript隐式索引与拆分

简介: TeaScript隐式索引与拆分

位置上的元素。 复合数据的正值序号依次为 0,1,…,N-2,N-1。 复合数据的负值序号依次为 -
N,-N+1,…,-2,-1。 这里 N 是复合数据的元素个数。通过对应位置的正负值序号差为 N , 可以 推导出负值序号的正值序号位置。大于 N-1 或小于-N 的序号超出复合数据的序号范围。

1.用于 nth 的隐式索引
表达式中第一个元素为复合数据,后面为索引数值的隐式索引可用于代替 nth 函数 来获取列表中的 一个元素或字符串中的一个字符:

(setq lst '(a b c (d e) (f g)))
(lst 0) → a ; 等同于 (nth (lst 0))
(lst 3) → (d e)
(lst 3 1) → e ; 等同于 (nth (lst 3 1))
(lst -1) → (f g)
20
("TeaScript" 3) → "S"

序号也可以用列表的方式提供 :

(lst '(3 1)) → e
(setq vec (ref 'e lst)) → (3 1)
(lst vec) → e

注意的是,在 TeaScript UTF-8 版本中,字符串的隐式索引或使用 nth 函数来操作字符串是以字符
为单位,而不是以单个字节为单位的。

2.用于 rest 和 slice 的隐式拆分
表达式中第一个元素索引数值,后面为的复合数据值的隐式拆分可用于代替 rest 函数 来获取排除索引序号前面元素后剩余的元素组成的列表或字符串。

表达式中第一个元素索引数值,第二个元素为索引数值或指定长度, 后面为的复合数据值的隐式
拆分 可用于代替 slice 函数 来获取排除索引序号前面元素后指定长度的元素组成的列表或字符串。

(setq lst '(a b c d e f g)) ; 列表
(1 lst) → (b c d e f g)
(2 lst) → (c d e f g)
(2 3 lst) → (c d e)
(-3 2 lst) → (e f)
(2 -2 lst) → (c d e)
(setq str "abcdefg") ; 字符串
(1 str) → "bcdefg"
(2 str) → "cdefg"
(2 3 str) → "cde"
(-3 2 str) → "ef"
(2 -2 str) → "cde"

在 TeaScript UTF-8 版本中,对于 rest,first 和 last 函数操作字符串是以字符为单位,而不是
以单个字节为单位的。 但是对于 rest 和 slice 的隐式拆分,始终以单个字节为单位的,因此 可用
来二进制内容的缓冲区操作。 从 find 和 regex 正则表达式操作函数返回的偏移和长度 也是以单个
字节为单位的,因此结果可用于进一步用 slice 函数或隐式拆分的方式来处理。

3.用于按更改部分内容的隐式索引

将隐式索引作为参数代入 setq 函数,可以更改复合数据中的部分内容:

(setq lst '(a b c d (e f g))) ; 列表
(lst 1) → b
(setq (lst 1) 'z) → z
lst → (a z c d (e f g))
(setq (lst -1) '(E F G)) → (E F G)
lst → (a z c d (E F G))
(setq s "TeaScript") ; 字符串
(setq (s 0) "t") → "t"
s → "teaScript"

注意的是,隐式拆分不可用 setq 函数来更改, 对于同时需要替换多个元素只能用隐式索引来逐个替换。 对于字符串,一次只能替换一个字符或用多个字符替换原有的而一个字符。

相关文章
|
9月前
|
运维 监控 数据可视化
传输架构:企业应如何构建需求分级、资源规划与路由策略一体化架构
本文围绕传输架构的需求分级、资源规划、路由策略三大核心维度,为企业构建一体化ICT传输体系提供标准化指导,结合可视化运行监控系统,覆盖从需求定义到运维优化的全流程,助力企业实现高确定性的传输部署与高效运维。
|
9月前
|
运维 监控 数据可视化
资源等级:企业如何制定资源等级标准并实施分配与负载管理
本文围绕企业ICT资源等级建设展开,从资源等级标准制定、需求匹配的资源分配机制到动态流量负载调控策略,结合可视化运行监控系统,为企业提供标准化规划、交付与运维支撑,助力实现高确定性的ICT部署,提升交付质量与运维效率。
【LeetCode98】验证二叉搜索树(medium)
二叉排序树的定义中注意不是左孩子小于当前结点,而是左子树上的所有结点值都小于当前结点,因此在递归遍历二叉树的同时需要保存结点权值的上界和下界——实现比较时不止比较子结点的值,也要与上下界比较。
227 0
【LeetCode98】验证二叉搜索树(medium)
|
20天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
9015 28
|
19天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
3983 16
|
19天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
2310 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
7天前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
5天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型深度拆解:原理解读、实战测评与保姆级落地教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为**System One Model(系统一模型)**,对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
467 1