ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

【F#学习】数组:Array

【F#学习】数组:Array

Array

在F#中, 一个数组(Array)包含0个或多个元素,长度固定,但内容可以改变。元素需要具有相同的类型

// 声明一个数组。注意看清操作符是 [| 和 |]
let empty = [| |]
let emptyAlternative = Array.emptylet singleValue = [| 5 |]
let singleValueAlternative = Array.singleton 5let threeValues = [| "a"; "b"; "c" |]

通过下标(index)可以读取或者修改数组中的元素。下标从零开始计算。语法和C#类似。

let numbers = [| 2; 3; 5 |]// 修改元素5为9
numbers[2] <- 9// 读取
numbers[2]
// => 9

通过在Array模块中定义的函数和运算符,可以对数组进行操作。当然,通过模式匹配(pattern matching)也可以。

let describe array =match array with| [| |] -> "Empty"| [| 1; 2; three |] -> sprintf "1, 2, %d" three| _ -> "Other"describe [| |]         // => "Empty"
describe [| 1; 2; 4 |] // => "1, 2, 4"
describe [| 5; 7; 9 |] // => "Other"

在模式匹配中,使用丢弃运算符_表示你不关心这个位置对应的元素。

let describe array =match array with| [| |] -> "空"| [| x |] -> "单元素"| [| _; y |] -> "双元素"| _ -> "多元素"describe [| |]          // => "空"
describe [| 1 |]        // => "单元素"
describe [| 5; 7 |]     // => "双元素"
describe [| 5; 7; 9 |]  // => "多元素"

单独使用_进行模式匹配的时候,务必把它放在最后,因为模式匹配是由上到下进行的。

返回列表