MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型# 现代编程思想 多元组,结构体与枚举类型 Hongbo Zhang 基础数据类型:多元组与结构体 ## 回顾:多元组 • 多元组:固定长度的不同类型数据的集合 ☐ 定义: $ (\leq $ 表达式 $ \gt $ , $ \leq $ 表达式 $ \gt $ , $ \geq $ ) ☐ 类型:(<表达式类型>,<表达式类型>,...) ○ 例如: ■ 身份信息:("Bob" Cons(2, x) = List::Cons(1, Nil) // 运行时错误,程序中止 ## 枚举类型 ## 不同情况的并集 - 如何定义周一到周日的集合? - 如何定义硬币落下结果的集合? • 如何定义表示整数四则运算的结果的集合? ## 枚举类型 ## 为了表示不同情况的数据结构,我们使用枚举类型 1. enum DaysOfWeek { 2. Monday; Tuesday; Wednesday; Thursday; Friday; Saturday; Sunday 3. } 1. enum Coin { 2. Head 3. Tail 4. } ## 枚举类型的定义与构造 1. enum DaysOfWeek { 2. Monday; Tuesday; Wednesday; Thursday; Friday; Saturday; Sunday0 码力 | 26 页 | 435.86 KB | 2 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . 109 6. 枚举和模式匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.1. 枚举的定义 . . . . . . . 个细节,你可能会想要跳过第二章,直接阅读第三章,等到你想要通过项目应用所学到的细节 时再回到第二章。 第五章讨论结构体(struct)和方法,第六章介绍枚举(enum)、match 表达式和 if let 控 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第七章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第八章讨论标准库提供的常见集合数据结构,例如 之前提到了 read_line 会将用户输入附加到传递给它的字符串中,不过它也会返回一个类型为 Result 的值。Result 是一种枚举类型,通常也写作 enum,它可以是多种可能状态中的一个。 我们把每种可能的状态称为一种 枚举成员(variant)。 第六章将介绍枚举的更多细节。这里的 Result 类型将用来编码错误处理的信息。 Result 的成员是 Ok 和 Err,Ok 成员表示操作成功,内部包含成功时产生的值。Err0 码力 | 562 页 | 3.23 MB | 8 月前3
JAVA 应用与开发 - 高级类特性理解抽象类和接口的异同和作用 ■ 了解嵌套类的分类,掌握嵌套类中静态嵌套类和匿名嵌套类的概念 ■ 掌握匿名内部类的特征、继承和接口实现的用法 ■ 掌握枚举类型的使用方法 大纲 1 抽象类 2 接口 3 抽象类和接口剖析 4 嵌套类 5 枚举类型 29 ## 抽象类 ## 什么是抽象类 ## 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来 void test(Swimmer swimmer) { swimmer.swim(); } } } ## 枚举类型 ## 什么是枚举类型 Java SE 5.0 开始,引入了一种新的引用数据结构枚举类型。枚举类型均自动继承 java.lang.Enum 类,使用一组常量值来表示特定的数据集合,该集合中数据的数目确定(通常较少),且这些数据只能取预先定义的值。 THU, FRI, SAT, SUNDAY } ## 无枚举类型前如何解决上述需求? 一般采用声明多个整型常量的做法实现枚举类的功能。 public class Week { public static final int MON = 1; public static final int TUE = 2; } ## 组合使用枚举类型与SWITCH 课程配套代码 ⬅️ package0 码力 | 61 页 | 677.55 KB | 2 年前3
Back to Basics: The Factory Pattern0 码力 | 93 页 | 3.92 MB | 1 年前3
从零蛋开始学 Rustp1 = Point::Instance(10, 20); p1.display(); } 编译运行以上 Rust 代码,输出结果如下 x = 10 y = 20 ## 十八、 Rust 枚举 Enum ⻓⼤的时候回去想想⼩时候,觉得有时候特么的太傻逼了,⽐如下⾯这道选择题 下面哪个不是水果? 我持久的能选择 A。原因是其它三个都吃过,可是香蕉,我家那种野香蕉树,香蕉就只有拇指大小,还特别涩,哪能吃啊。 这个说法不恰当,但目前没想到更好的。 ### 18.1 枚举 像这种万里挑一的问题,从众多个选项中选择一个的问题,像这种众多选项,Rust 提供了一个新的数据类型用来表示它们。 这个新的数据类型就是枚举,英文 enum。 也就是说,枚举用于从众多的可变列表中选择一个。 ### 18.2 枚举定义 Rust 语言提供了 enum 关键字用于定义枚举。 定义枚举的语法格式如下 enum enum_name 例如上面我们的香蕉橘子选项,我们可以定义一个枚举 Fruits enum Fruits { Banana, // 香蕉 Pear, // 梨 Mandarin, // 橘子 Eggplant // 茄子 } ### 18.3 使用枚举 枚举定义好了之后我们就要开始⽤它了,枚举的使⽤⽅式很简单,就是枚举名::枚举值。语法格式如下 enum_name::variant 例如上面的枚举,比如我选择了香蕉,那么赋值的语法如下0 码力 | 168 页 | 1.24 MB | 2 年前3
Rust 程序设计语言简体中文版. 101 5.1. 结构体的定义和实例化 ..... 102 5.2. 结构体示例程序 ..... 109 5.3. 方法语法 ..... 115 6. 枚举和模式匹配 ..... 122 6.1. 枚举的定义 ..... 123 6.2. match 控制流结构 ..... 131 6.3. if let 简洁控制流 ..... 138 7. 使用包、Crate 章,直接阅读第 3 章,等到你想要通过项目应用所学到的细节时再回到第 2 章。 第 5 章 讨论 结构体(struct)和方法,第 6 章 介绍 枚举(enum)、match 表达式和 if let 控制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第 7 章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应用程序接口)。第 8 章讨论标准库提供的常见集合数据结构,例如 read_line 会将用户输入附加到传递给它的字符串中,不过它也会返回一个类型为 Result 的值。Result 是一种枚举类型,通常也写作 enum。枚举类型变量的值可以是多种可能状态中的一个。我们把每种可能的状态称为一种枚举成员(variant)。 第六章将介绍枚举的更多细节。这里的 Result 类型将用来编码错误处理的信息。 Result 的成员是 Ok 和 Err,Ok 成员表示0 码力 | 600 页 | 12.99 MB | 2 年前3
TypeScript 4.0 使用手册
Angular 2 从JavaScript迁移到TypeScript 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 从JavaScript迁移到TypeScript - 手册 - 基础类型 - 变量声明 - 接口 - 类 - 函数 - 字面量类型 - 泛型 - 枚举 - 类型推论 - 类型兼容性 - 高级类型 - Symbols - Iterators 和 Generators - 模块 - 命名空间 Angular 2 - 从JavaScript迁移到TypeScript - 手册 - 基础类型 - 变量声明 - 接口 - 类 - 函数 - 泛型 - 枚举 - 类型推论 - 类型兼容性 - 高级类型 - Symbols - Iterators 和 Generators - 模块 - 命名空间 - 命名空间和模块 - 模块解析0 码力 | 683 页 | 6.27 MB | 2 年前3
TypeScript Handbook(中文版)
TypeScript 1.1 2.12 手册 3 基础类型 3.1 变量声明 3.2 接口 3.3 类 3.4 函数 3.5 泛型 3.6 枚举 3.7 类型推论 3.8 类型兼容性 3.9 高级类型 3.10 Symbols 3.11 Iterators 和 Generators 3.12 模块 TypeScript 1.4 - TypeScript 1.3 - TypeScript 1.1 - 手册 - 基础类型 - 变量声明 - 接口 - 类 - 函数 - 泛型 - 枚举 - 类型推论 - 类型兼容性 - 高级类型 - Symbols - Iterators 和 Generators - 模块 - 命名空间 - 命名空间和模块 - 设置为 esnext。 ## 字符串枚举 TypeScript 2.4 现在支持枚举成员变量包含字符串构造器。 enum Colors { Red = "RED", Green = "GREEN", Blue = "BLUE", } 需要注意的是字符串枚举成员不能被反向映射到枚举成员的名字。换句话说,你不能使用 Colors["RED"]0 码力 | 557 页 | 7.48 MB | 2 年前3
大学霸 Kali Linux 安全渗透教程2.4 设置ProxyChains 2.5 目录加密 第3章 高级测试实验室 3.1 使用VMware Workstation 3.2 攻击WordPress和其他应用程序 第4章 信息收集 4.1 枚举服务 4.2 测试网络范围 4.3 识别活跃的主机 4.4 查看打开的端口 4.5 系统指纹识别 4.6 服务的指纹识别 4.7 其他信息收集手段 4.8 使用Maltego收集信息 4.9 绘制网络结构图 知识点如下: 枚举服务; 测试网络范围; 识别活跃的主机和查看打开的端口; 系统指纹识别; 服务指纹识别; 其他信息收集手段; 使用Maltego收集信息; 绘制网络图。 大学霸 Kali Linux 安全渗透教程 110 第4章 信息收集 4.1 枚举服务 枚举是一类程序,它允许用户从一个网络中收集某一类的所有相关信息。本节将介 绍DNS枚举和SNMP枚举技术。DNS枚举可以收集本地所有DNS服务和相关条目。 DNS服务和相关条目。 DNS枚举可以帮助用户收集目标组织的关键信息,如用户名、计算机名和IP地址 等,为了获取这些信息,用户可以使用DNSenum工具。要进行SNMP枚举,用户 需要使用SnmpEnum工具。SnmpEnum是一个强大的SNMP枚举工具,它允许用户 分析一个网络内SNMP信息传输。 4.1.1 DNS枚举工具DNSenum DNSenum是一款非常强大的域名信息收集工具。它能够通过谷歌或者字典文件猜0 码力 | 444 页 | 25.79 MB | 2 年前3
Nim 2.0.2 中文手册是静态类型语言。在语义分析期间,所有的表达式都有一个已知类型。可以声明新的类型,其实质上是定义了一个标识符,用来表示这个自定义类型。 这些是主要的类型分类: 序数类型(包括整数、布尔、字符、枚举、枚举子范围) ☐ 浮点类型 ☐ 字符串类型 结构化类型 。引用(指针)类型 。过程类型 。泛型类型 ## 序数类型 序数类型有以下特征: 序数类型是可数的和有序的。因而允许使用如 inc 获取。尝试从最小值继续减小,会产生 panic 或静态错误。 ☐ 序数类型具有最大可使用值,可以通过 high(type) 获取。尝试从最大值继续增大,会产生 panic 或静态错误。 整数、bool、字符和枚举类型(以及这些类型的子范围)属于序数类型。 如果 distinct 类型的基类型是序数类型,则 distinct 类型也为序数类型。 ## 预定义整数类型 这些整数类型是预定义的: int 。它的大小为一个字节。因此,不能表示 UTF-8 字符,而只能是 UTF-8 字符的一部分。 Rune 类型声明在unicode 模块(unicode.html)中,可以表示任意 Unicode 字符。 ## 枚举类型 枚举类型定义了一个其值由指定的值组成的新类型,这些值是有序的。例如: type Direction = enum north, east, south, west 以下情况成立: ord(north)0 码力 | 127 页 | 7.05 MB | 1 年前3
共 225 条
- 1
- 2
- 3
- 4
- 5
- 6
- 23













