【PL理论】(11) F#:标准库之 Set | 标准库之 Map插图  

  • 💭 写在前面:本章我们将简要的介绍一下 Set 和 Map (非常简要,简要至极)

目录

0x00 标准库之集合(Set)

0x01 标准库之 Map


0x00 标准库之集合(Set)

集合中的元素具有相同的类型,Set 表示元素类型为 ‘a’ 的集合。

使用该库,你可以描述整数集合、字符串集合、树集合等。

let s1: Set = Set.add 1 Set.empty    // { 1 }
let s2: Set = Set.add 2 s1           // { 1, 2 }
let s3: Set = Set.add 4 Set.empty    // { 4 }
let s4: Set = Set.union s2 s3        // { 1, 2, 4 }

let n: int = Set.count s4                 // Returns 3
let b: bool = Set.contains 2 s4           // Returns true

0x01 标准库之 Map

从定义域到值域的映射,Map 表示从类型 ‘a 到类型 ‘b 的映射。

也可以看作是一系列键值绑定,当然,映射中不能有重复的键。

let m1: Map = Map.empty
let m2: Map = Map.add "a" 3 m1
let m3: Map = Map.add "a" 4 m2
let m4: Map = Map.add "b" 5 m3

let b1 = Map.containsKey "c" m4 // false
let b2 = Map.containsKey "a" m4 // true
let i = Map.find "a" m4 // 4

【PL理论】(11) F#:标准库之 Set | 标准库之 Map插图(1)

(为什么会这么简陋??因为我发现 List 实在是讲太多了!F# 怎么能占这么多比例呢?这不是 PLT 教学么…)


【PL理论】(11) F#:标准库之 Set | 标准库之 Map插图(2)

📌 [ 笔者 ]   王亦优
📃 [ 更新 ]   2024.6.15
❌ [ 勘误 ]   /* 暂无 */
📜 [ 声明 ]   由于作者水平有限,本文有错误和不准确之处在所难免,
              本人也很想知道这些错误,恳望读者批评指正!

📜 参考资料 

Microsoft. MSDN(Microsoft Developer Network)[EB/OL]. []. .

本站无任何商业行为
个人在线分享 » 【PL理论】(11) F#:标准库之 Set | 标准库之 Map
E-->