generics - 我可以为自己的类型使用特殊的通用语法吗?
问题描述
在 F# 中,某些类型具有特殊的通用语法(我不确定它叫什么),因此您可以执行以下操作:
int list // instead of List<int>
int option // instead of Option<int>
- 这种语法叫什么?
- 我可以为自己的类型启用它吗?
解决方案
在“通用类型”下:
泛型
类型参数通用类型名称 |
'a list
或者
通用类型名称<类型参数列表> |
list<'a>
和“构造类型”:
构造类型(提供特定类型参数的泛型类型)
类型参数泛型类型名称
或者
通用类型名称<类型参数列表>
type dave<'a> = {
V : 'a
};;
let stringDave: dave<string> = { V = "string" };;
//val stringDave : dave<string> = {V = "string";}
let intDave : int dave = { V = 123 };;
//val intDave : dave<int> = {V = 123;}
推荐阅读
- css - 与另一个元素的大小相关的可滚动区域
- android - 设备为 iPhone 时如何显示后退按钮
- mysql - MYSQL 与 SUM 结果和 GROUP BY 和 SUM 再次
- regex - 正则表达式匹配单词中不包含的单个非空白字符
- javascript - 用户关闭浏览器php时如何更新数据库表
- stata - 合并具有不同数据的行
- php - PHP Group Array Results Together By Value
- python - python closure/nested function fail when with assignment to outer array
- f# - F# 按运行总数列出组?
- html - 使用 boostrap Grid System 进行堆叠