TeaScript特殊符号求值

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,1000CU*H 3个月
简介: TeaScript 是一种灵活的脚本语言,其对 `nil` 和 `true` 的处理具有特殊规则:求值时,`nil` 和 `true` 返回自身,而 `false`、`undefined` 和 `null` 均返回 `nil`。在不同上下文中,`nil` 和 `true` 可代表符号或布尔值。

​1.nil 和 true 求值时,返回自身

nil → nil 
true → true

2.false、undefined 和 null 求值时,返回 nil

false → nil
undefined → nil
null → nil

3.TeaScript 中,nil 和 true 有两层含义:代表符号和代表布尔值。 根据它们所处的上下文不同,nil 和 true 被分别对待。

(setq lst '(nil nil nil)) → (nil nil nil)
(map symbol? lst) → (true true true)

上例中,nil 代表符号。下面例子中, nil 和 true 求值为布尔值:

(if nil "no" "yes") → "yes"
(if true "yes" "no") → "yes"
(map not lst) → (true true true)

4.在流程控制表达式中,如:if、unless、while、 until 和 not,nil 求值产生布尔值 false, true
求值产生布尔值 true。

5.TeaScript 中,nil 和空列表 () 是不同的东西。 仅当使用于条件表达式中时, 如:and、or、if、while、 unless、until 和 cond,它们视为布尔值 false。

6.表达式 (cons 'x '()) 求值时产生 (x),但 (cons 'x nil) 求值为 (x nil)。 因为 nil 求值时视其为布尔值而不是空列表。 TeaScript 中,对于代入两个原子型参数的 cons 函数不会产生点对列表,而是生成一个包含两个元素的列表。对于 nil 判别函数 atom? 结果为 true ,但对于空列表则相反false。因此,TeaScript 中的空列表仅只是空列表, 而不等于 nil。

7.this 符号在构造函数中求值时,返回新创建的对象。调用方法时,返回当前调用者对象。

8.arguments 求值时,返回函数代入的所有实际参数列表。

相关文章
|
存储 消息中间件 监控
基于 Hologres+Flink 的曹操出行实时数仓建设
本文主要介绍曹操出行实时计算负责人林震,基于 Hologres+Flink 的曹操出行实时数仓建设的解决方案分享。
109941 1
基于 Hologres+Flink 的曹操出行实时数仓建设
|
存储 移动开发 开发框架
【微信小程序 | 实战开发】常用小程序框架介绍
【微信小程序 | 实战开发】常用小程序框架介绍
4398 0
【微信小程序 | 实战开发】常用小程序框架介绍
|
存储 编译器 C++
关于“VS2022无法打开头文件<graphics.h>” 以及编译时 “没有与参数列表匹配的重载函数实例”俩个问题的解决思路
关于“VS2022无法打开头文件<graphics.h>” 以及编译时 “没有与参数列表匹配的重载函数实例”俩个问题的解决思路
4691 0
|
6月前
|
机器学习/深度学习 人工智能 机器人
魔搭社区模型速递(5.11-5.17)
🙋魔搭ModelScope本期社区进展:📟1656个模型,151个数据集,645个创新应用,📄 9 篇内容
332 11
|
6月前
|
编解码 数据可视化 定位技术
Axure设计数字乡村可视化大屏:从布局到交互的实战经验分享
本文以Axure为工具,分享数字乡村可视化大屏的设计全流程。从需求分析到功能拆解,明确民生、经济、历史文化和空间分布四大维度,将大屏划分为左、中、右三区,涵盖10个统计模块。详细解析了各区域的图表设计与交互实现,如柱状图、环形图、时间轴等,并通过模块化设计和动态交互(如数据联动、弹窗详情)提升用户体验。最后总结避坑指南,强调数据可视化、交互友好及模块复用性,助力实现“数据驱动决策”的核心目标,推动乡村治理数字化转型。
377 132
|
7月前
|
人工智能 JavaScript 前端开发
TVM虚拟机
TVM引擎是一款超微型、多功能的编程工具,支持多种语法(如Lisp、JavaScript等),拥有几百个实用函数。其核心优势包括快速加载执行、跨平台运行(Windows、Linux等)、源代码链接生成独立文件及嵌入宿主系统作为开发语言平台。此外,它具备动态脚本特性、符号单元运算、面向对象原型继承、函数式编程特点,以及C语言底层操作能力。TVM还支持弱类型数据处理、多态函数、内存垃圾自动回收、正则表达式文本处理和网络编程接口,广泛应用于分布计算、科学统计及人工智能等领域。
|
7月前
TVM虚拟机应用实例
TVM虚拟机应用实例
|
6月前
#我用Qwen3做了英语老师玛丽# 、#阿里云百炼#,@通义大模型
通过Qwen3创建了名为“玛丽”的英语老师智能体,具备解决学生英语问题的多种功能。她能用英语描述天气、翻译古诗词、撰写英语作文,还帮助了解外国文化、饮食与风俗习惯。相比以往版本更易使用,体验更佳。已完成功能设计与发布流程,感兴趣者可尝试使用。
194 12
|
6月前
|
传感器 人工智能 搜索推荐
智能硬件交互有什么发展趋势?
随着国内全网AI平台智能体数量突破千万,这些“数字人”虽功能强大,却大多困于云端,商业化比例低。同时,国内智能硬件市场同质化严重,难以满足用户长期需求。本文探讨了哪些AI智能体适合硬件实体化,并提出了四大创新方向:深度交互与情感陪伴型、特定场景解决方案型、环境感知与自主决策型。通过多模态交互、端侧专用模型、核心场景极致体验及持续服务模式,智能硬件可从同质化中脱颖而出。尽管挑战重重,但将AI“灵魂”与硬件“肉身”结合,是AI产业成熟的重要趋势。
206 2