摘要: **问题**:Hyper-V虚拟机默认的网卡是`Default Switch`,这个网卡被强制要求使用DHCP,每次重启都会让虚拟机IP发生变化。 **期望**:在保证虚拟机可以访问外部网络的情况下,简单地操作,使虚拟机能够有静态的IP地址。 **解决**:给虚拟机添加上另一块网卡,虚拟机和主机通过这个网卡通讯,同时不影响虚拟机和外部网络的通讯(通过`Deafult Switch`)。 阅读全文
posted @ 2025-10-15 14:30 QMazon 阅读(20) 评论(0) 推荐(0)
摘要: 元组是不可变的有序的、大小固定的一组数据。内容可以包含各种类型——包括元组本身。 用括号()和逗号,来声明一个元组。 ("one", 2) // Tuple pair (2 values) ("one", 2, true) // Tuple triplet (3 values) 只有拥有相同数据类型 阅读全文
posted @ 2025-09-26 16:30 QMazon 阅读(7) 评论(0) 推荐(0)
摘要: F#中的列表list是不可变的一列数据。列表中的数据必须具有相同的数据类型。任何试图对列表进行修改的函数或者运算符,实际上都是构建了一个新的列表。 用如下方式来定义一个列表: let empty = [] let singleValue = [5] let threeValues = ["a"; " 阅读全文
posted @ 2025-09-23 12:25 QMazon 阅读(9) 评论(0) 推荐(0)
摘要: 记录,record, 是一些字段的集合。使用type关键字来定义一个record。记录的字段需要放置在花括号{}之内,需要明确地声明类型和名称。新建一个记录的实例的时候,必须给所有字段赋值。 定义一个记录的时候,字段必须换行声明,抑或使用分号;隔开。 // 定义一个记录 type Address = 阅读全文
posted @ 2025-09-23 11:57 QMazon 阅读(4) 评论(0) 推荐(0)
摘要: 可区分联合是一串固定的项目。使用type和| 来声明。将每一个项目称为一个case。 type Season = | Spring // Spring 就是一个 case | Summer | Autumn | Winter 可区分联合的每一个case都可以附加一些数据,不同的case可以附加不同类 阅读全文
posted @ 2025-09-23 09:55 QMazon 阅读(13) 评论(0) 推荐(0)
摘要: F#的char类型是一个 16bit 的值,代表一个字符。与C#、Java一致。用单引号定义。 let ch = 'A' // => val ch: char = 'A' 字符串就是一串字符。像操作列表一样,从字符串中获得字符。 "Qmazon"[4] // => 'o' 迭代字符串的时候,按字符迭 阅读全文
posted @ 2025-09-22 22:51 QMazon 阅读(3) 评论(0) 推荐(0)
摘要: 在 F# 中,布尔逻辑运算符的优先级从高到低如下(括号可显式改变优先级): 优先级顺序(高 → 低) not 一元逻辑非运算符(最高优先级) 示例:not true → false && 逻辑与运算符(短路求值) 示例:true && false → false || 逻辑或运算符(短路求值) 示例 阅读全文
posted @ 2025-09-22 22:42 QMazon 阅读(6) 评论(0) 推荐(0)
摘要: 字符串 F#的字符串和其他现代化的语言的字符串差异不大。 let fruit = "Apple" 字符串可以通过调用其本身的函数来修改,也可以通过String模块下的函数来修改——但字符串是常量,一旦被创建就不可能发生改变,这里的修改实际上都是创建了一个全新的字符串。 使用+运算符来连接字符串。 l 阅读全文
posted @ 2025-09-19 22:49 QMazon 阅读(4) 评论(0) 推荐(0)
摘要: 绑定 在F#中,给一个值标记上名字的过程叫作绑定(binding)。绑定是不可更改的,就像C#语言中的readonly或者const一样。因此,我们称这样的东西为绑定而非变量。由于F#是静态类型语言,所有的绑定必须在编译期就明确类型。 通过关键字let来创建绑定。在大多数情况下,编译器足够聪明,能够 阅读全文
posted @ 2025-09-19 22:37 QMazon 阅读(7) 评论(0) 推荐(0)
摘要: Array 在F#中, 一个数组(Array)包含0个或多个元素,长度固定,但内容可以改变。元素需要具有相同的类型。 你有两种方式在声明中明确标注一个数组的类型,如下: // 声明一个数组。注意看清操作符是 [| 和 |] let empty = [| |] let emptyAlternative 阅读全文
posted @ 2025-09-19 21:41 QMazon 阅读(7) 评论(0) 推荐(0)