当前位置: 首页 > news >正文

【F#学习】列表 List

F#中的列表list是不可变的一列数据。列表中的数据必须具有相同的数据类型。任何试图对列表进行修改的函数或者运算符,实际上都是构建了一个新的列表。

用如下方式来定义一个列表:

let empty = []
let singleValue = [5]
let threeValues = ["a"; "b"; "c"]

最普遍的向列表中添加元素的方式是通过cons运算符::

let twoToFour = [2; 3; 4]
let oneToFour = 1 :: twoToFour
// => [1; 2; 3; 4]

一个列表有一个head,剩下的内容都是tail,即:head为首个元素,tail为除开head的余下的列表。(这和 Haskell 是一致的)

List.head [1; 2; 3; 4; 5] // => 1
List.tail [1; 2; 3; 4; 5] // => [2; 3; 4; 5]let describe list =match list with| [] -> "Empty list"| head::tail -> sprintf "Non-empty list with head: %d" headdescribe []        // => "Empty list"
describe [1]       // => "Non-empty with head: 1"
describe [5; 7; 9] // => "Non-empty with head: 5"

在模式匹配中使用抛弃符_

let describe list =match list with| [] -> "Empty list"| [x] -> "List with one item"| [_; y] -> "List with two items (first item ignored)"| _ -> "List with many items (all items ignored)"describe []        // => "Empty list"
describe [1]       // => "List with one item"
describe [5; 7]     // => "List with two items (first item ignored)"
describe [5; 7; 9] // => "List with many items (all items ignored)"
http://www.rkmt.cn/news/10189.html

相关文章:

  • 嵌入式ARM架构学习9——IIC - 教程
  • 深入解析:GPT-5风波后,奥特曼深夜道歉并补偿!Plus用户成最大赢家,Wildcard 野卡停服后,普通人如何充值?
  • 完整教程:飞算JavaAI 2.0.0测评:自然语言编程如何颠覆传统开发?
  • .Net-IIS 文件上传安全漏洞问题
  • 【光照】[高光反射specular]以UnityURP为例
  • 游戏性能优化与逆向分析技术
  • 使用 feign 调用时对微服务实例进行选择
  • EI目录今年第3次更新!55本中国期刊被收录,附完整版下载
  • 自定义属性编辑器
  • Computer Graphics Tutorial
  • CF1874(CF Round 901) 总结
  • 2. Spring AI 快速入门使用 - Rainbow
  • 阿里将发布多模态模型 Qwen3-Omni,主打多语言与复杂推理;DeepvBrowser 上线 AI 语音浏览器丨日报
  • Word文档内容批量替换脚本 - wanghongwei
  • EF 数据迁移生成sql脚本
  • 第七章 手写数字识别V1
  • QBtn 组件go参数类型错误解决方案
  • 云计算实践部署笔记
  • [eJOI 2024] 奶酪交易 / Cheese
  • 若依前后端版本-综合QA
  • tests-stats/regression.sh
  • 计算机毕业设计-在线书城管理系统-计算机毕设辅导-源码-文档-全套资料 - 指南
  • 工程化知识管理新范式:DevOps驱动下的智能文档体系建设实践
  • 从零开始学Flink:数据转换的艺术
  • 20250827_黔西南网信杯_丢失的数据
  • 【第十一章】Python 调用 MySQL 全面指南:从基础到实践​ - 实践
  • 11.备库出现gap处理方法
  • 修改Abp中Auto API Controllers中 默认生成的 Put、Delete请求
  • 电阻-温度数据拟合工具(最小二乘法)
  • delphi clientdataset 中文过滤问题