MoonBit月兔编程语言 现代编程思想 第三课 函数, 列表与递归现代编程思想 函数, 列表与递归 Hongbo Zhang 1 基本数据类型:函数 2 函数 在数学上,描述对应关系的⼀种特殊集合 对于特定的输⼊,总是有特定的输出 在计算机中,对相同运算的抽象,避免⼤量重复定义 计算半径为1的圆的⾯积: 3.1415 * 1 * 1 计算半径为2的圆的⾯积: 3.1415 * 2 * 2 计算半径为3的圆的⾯积: 3.1415 * 3 * 11 数据类型:列表 12 列表:⼀个数据的序列 我们有时会收到⼀些数据,具备以下特征: 数据是有序的 数据是可以重复的 数据的数量是不定的 举例来说 ⼀句话中的⽂字:� '⼀' '句' '话' '中' '的' '⽂' '字' � DNA序列:� G A T T A C A � …… 13 列表的接⼝ 我们定义⼀个单向不可变列表 以整数的列表为例(暂名之 IntList 返回⼀个空列表 cons : (Int, IntList) -> IntList 向列表添加⼀项 解构 head_opt : IntList -> Option[Int] 获得第⼀项 tail : IntList -> IntList 获得除第⼀项以外的项 14 列表的接⼝ 测试案例 1. let empty_list:0 码力 | 42 页 | 587.59 KB | 1 年前3
Kotlin 官方文档中文版 v1.9添加 iOS 依赖项 运行测试 构件编译项 配置编译项 构建最终原生二进制文件 多平台 Gradle DSL 参考 范例 FAQ 向团队介绍跨平台移动端开发 Kotlin 多平台兼容性指南 Kotlin 多平台移动端插件版本发布 平台 JVM Kotlin/JVM 入门 与 Java 比较 5 1.10.1.3 1.10.1.4 1.10.1.5 1.10.1 Kotlin——教程 在 Kotlin 中使用 Java 记录类型 从 Java 到 Kotlin 迁移指南 字符串 集合 可空性 库创建人指南 简介 可读性 可预测性 可调试性 反向兼容性 原生 Kotlin/Native 入门——在 IntelliJ IDEA 中 Kotlin/Native 入门——使用 Gradle Kotlin/Native 入门——使用命令行编译器 Kotlin 各组件的稳定性(1.4 之前) 兼容性 Kotlin 1.9 的兼容性指南 Kotlin 1.8 的兼容性指南 Kotlin 1.7.20 的兼容性指南 Kotlin 1.7 的兼容性指南 Kotlin 1.6 的兼容性指南 Kotlin 1.5 的兼容性指南 Kotlin 1.4 的兼容性指南 Kotlin 1.3 的兼容性指南 兼容模式 Kotlin 基金会 Kotlin0 码力 | 2049 页 | 45.06 MB | 1 年前3
Object Pascal 参考手册(Ver 0.1) unit Unit1; interface Programs and units - 11 - uses { 这里是单元列表 } { 这里是接口部分 } implementation uses { 这里是单元列表 } { 这里是实现部分 } initialization { 这里是初始化部分 } finalization implementation 开始,直到初始化部分的开头;或者,如果没有初始 化部分的话,就直到单元的结束。实现部分定义接口部分声明的过程和函数,在这里,你能以任何顺序 定义和调用它们。并且,你也可以省略过程和函数的参数列表,但如果包括它们的话,就必须和在接口 部分的声明完全相同。 除了定义公用的过程和函数,实现部分可以定义单元的私有内容,包括常量、类型(包括类)、变量、 过程和函数,它们对客户(请参考接口部分)是不可见的。 引 用都将产生一个适当的提示或警告。使用 platform 标记一个条目和特定的操作系统(比如 Windows 和 Linux)相关;使用 deprecated 表示条目已经废弃或支持它仅为了向后兼容性;使用 library 表示依赖于 特定的库或组件框架(比如 VCL 或 CLX)。 Statements(语句) 语句定义程序中的算法行为。简单语句,像赋值语句和过程调用,能组合成循环、条件语句以及其它结0 码力 | 168 页 | 868.25 KB | 1 年前3
Kotlin 1.9.10 官方文档 中文版
添加 iOS 依赖项 运行测试 构件编译项 配置编译项 构建最终原生二进制文件 多平台 Gradle DSL 参考 范例 FAQ 向团队介绍跨平台移动端开发 Kotlin 多平台兼容性指南 Kotlin 多平台移动端插件版本发布 平台 JVM Kotlin/JVM 入门 与 Java 比较 在 Kotlin 中调用 Java 在 Java 中调用 Kotlin Spring Kotlin——教程 在 Kotlin 中使用 Java 记录类型 从 Java 到 Kotlin 迁移指南 字符串 集合 可空性 库创建人指南 简介 可读性 可预测性 可调试性 反向兼容性 原生 Kotlin/Native 入门——在 IntelliJ IDEA 中 Kotlin/Native 入门——使用 Gradle Kotlin/Native 入门——使用命令行编译器 安装 Kotlin EAP 插件 配置构建采用 EAP 其他资源 FAQ Kotlin 演进 演进原则 Kotlin 各组件的稳定性 Kotlin 各组件的稳定性(1.4 之前) 兼容性 1.19.2.4.1 1.19.2.4.2 1.19.2.4.3 1.19.2.4.4 1.19.2.4.5 1.19.2.4.6 1.19.2.4.7 1.19.2.4.8 10 码力 | 3753 页 | 29.69 MB | 1 年前3
现代C++ 教程:高速上手C++11/14/17/20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 与 C 的兼容性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 进一步阅读的参考文献 if/switch 变量声明强化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 初始化列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 结构化绑定 量避免使用。但是,已弃用的特性依然是标准库的一部分,并且出于兼容性的考虑,大部分 特性其实会『永久』保留。 • 不再允许字符串字面值常量赋值给一个 char *。如果需要用字符串字面值常量赋值和初始化一个 char *,应该使用 const char * 或者 auto。 char *str = "hello world!"; // 将出现弃用警告 8 1.2 与 C 的兼容性 第 1 章迈向现代 C++ •0 码力 | 83 页 | 2.42 MB | 1 年前3
Python 标准库参考指南 3.13 7.3 可变序列类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.7.4 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.7.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 ii 6.7.4 历史列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 6.7.5 启动钩子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 8.7.2 搜索有序列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 8.7.3 例子 . . .0 码力 | 2246 页 | 11.74 MB | 9 月前3
Python 标准库参考指南 3.13 7.3 可变序列类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.7.4 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.7.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ii 6.7.4 历史列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 6.7.5 启动钩子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 8.7.2 搜索有序列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 8.7.3 例子 . . .0 码力 | 2242 页 | 11.73 MB | 9 月前3
FISCO BCOS 2.9.0 中文文档ases/tag/v2.9.0] 标签:v2.9.0 版本特性 2.9.0 新增 支持Mac M1 SDK与节点通讯支持RSA证书 新增交易过期清理逻辑 支持通过RPC接口动态更新P2P连接列表: addPeers: 添加P2P连接配置 queryPeers: 查询P2P连接配置 erasePeers: 删除P2P连接配置 修复 修复国密环境扩容,新增扩容节点与其他节点P2P连接失败的问题 修复合约事件推送,推送范围不准确的问题 修复OpenSSL 1.1版本,无法生成证书的问题 修复创世块文件group.x.genesis,初始节点顺序不一致导致创世块不一 致,节点无法共识的问题 兼容性 2.9.0向前兼容,旧版本可以直接替换程序升级 推荐版本 最低版本 说明 控制台 2.9.0 1.0.4 Java SDK 2.9.0 2.6.1 Web3SDK 2.6.0 2.0.4 修复节点通过证书解析机构名错误的问题(issue 1894 [https://github.com/FISCO- BCOS/FISCO-BCOS/issues/1894])。 修复在ARM机器上LevelDB编译失败的问题。 兼容性 FISCO BCOS 2.8.0可编译出两个版本,普通版(2.8.0),硬件加密版(2.8.0- hsm),这两个版本均与2.7.0等以前的版本兼容。 2.8.0和2.8.0-hsm向前兼容,旧版本可以直接替换程序升级0 码力 | 2649 页 | 201.08 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档ases/tag/v2.9.0] 标签:v2.9.0 版本特性 2.9.0 新增 支持Mac M1 SDK与节点通讯支持RSA证书 新增交易过期清理逻辑 支持通过RPC接口动态更新P2P连接列表: addPeers: 添加P2P连接配置 queryPeers: 查询P2P连接配置 erasePeers: 删除P2P连接配置 修复 修复国密环境扩容,新增扩容节点与其他节点P2P连接失败的问题 修复合约事件推送,推送范围不准确的问题 修复OpenSSL 1.1版本,无法生成证书的问题 修复创世块文件group.x.genesis,初始节点顺序不一致导致创世块不一 致,节点无法共识的问题 兼容性 2.9.0向前兼容,旧版本可以直接替换程序升级 推荐版本 最低版本 说明 控制台 2.9.0 1.0.4 Java SDK 2.9.0 2.6.1 Web3SDK 2.6.0 2.0.4 修复节点通过证书解析机构名错误的问题(issue 1894 [https://github.com/FISCO- BCOS/FISCO-BCOS/issues/1894])。 修复在ARM机器上LevelDB编译失败的问题。 兼容性 FISCO BCOS 2.8.0可编译出两个版本,普通版(2.8.0),硬件加密版(2.8.0- hsm),这两个版本均与2.7.0等以前的版本兼容。 2.8.0和2.8.0-hsm向前兼容,旧版本可以直接替换程序升级0 码力 | 2649 页 | 201.08 MB | 1 年前3
FISCO BCOS 2.0 中文文档ases/tag/v2.9.0] 标签:v2.9.0 版本特性 2.9.0 新增 支持Mac M1 SDK与节点通讯支持RSA证书 新增交易过期清理逻辑 支持通过RPC接口动态更新P2P连接列表: addPeers: 添加P2P连接配置 queryPeers: 查询P2P连接配置 erasePeers: 删除P2P连接配置 修复 修复国密环境扩容,新增扩容节点与其他节点P2P连接失败的问题 修复合约事件推送,推送范围不准确的问题 修复OpenSSL 1.1版本,无法生成证书的问题 修复创世块文件group.x.genesis,初始节点顺序不一致导致创世块不一 致,节点无法共识的问题 兼容性 2.9.0向前兼容,旧版本可以直接替换程序升级 推荐版本 最低版本 说明 控制台 2.9.0 1.0.4 Java SDK 2.9.0 2.6.1 Web3SDK 2.6.0 2.0.4 修复节点通过证书解析机构名错误的问题(issue 1894 [https://github.com/FISCO- BCOS/FISCO-BCOS/issues/1894])。 修复在ARM机器上LevelDB编译失败的问题。 兼容性 FISCO BCOS 2.8.0可编译出两个版本,普通版(2.8.0),硬件加密版(2.8.0- hsm),这两个版本均与2.7.0等以前的版本兼容。 2.8.0和2.8.0-hsm向前兼容,旧版本可以直接替换程序升级0 码力 | 2649 页 | 201.08 MB | 1 年前3
共 372 条
- 1
- 2
- 3
- 4
- 5
- 6
- 38













