![]() |
1
10
0元组有什么用?
二元组或三元组表示一组相关项。(二维空间中的点、颜色的RGB值等)1元组不是很有用,因为它很容易被单个元组替换
0元组似乎更无用,因为它完全不包含任何内容。但是它的一些特性使得它在函数语言中非常有用,比如F#。例如,0元组类型只有一个值,通常表示为
返回的函数
在F#交互式解释器中运行它,您将看到:
这意味着
函数可以
实际上相当于:
也就是说,接受一个类型的参数的函数
事实上,所有函数都将接受至少一个参数并返回一个值,即使该值有时是一个“无用”的值,如
|
![]() |
2
3
我想不出一个元素元组的用例。编辑-正如所指出的,引用的页面提到一个元素元组作为命名返回参数的方法,这听起来确实很有用,尽管这可能是C#特定的。 零元素元组在函数语言中也称为 unit . 它有点像C#中的虚空,其中一些(大多数?)函数式语言没有。 不同之处在于()是一个实际值,您可以使用它来保存列表、模式匹配等操作。函数式语言需要这样做,因为函数必须返回某些内容,如果您想返回“nothing”,则必须通过返回()显式地执行此操作。您还可以编写一个接受unit作为参数的函数,这基本上意味着它是一个延迟执行的值,很可能会有副作用:
|
![]() |
3
1
在C中不支持o元组(nople)和1元组(oneple)。
然而,在基类库(BCL)上,为了保持一致性,为了防止将来有人发现它的用处,有
|
![]() |
4
0
目前,
对于0元组和
|
![]() |
Thomas · 使类型别名在F中不可互换# 3 年前 |
![]() |
sdgfsdh · 我该怎么说。使用异步转换函数进行收集? 7 年前 |
![]() |
Soldalma · 我可以实例化包含顶级副作用值的类吗? 7 年前 |
![]() |
matekus · F#-包含数字的字符串的自然排序 7 年前 |
![]() |
matekus · F#类型匹配-无法创建映射或匹配记录 7 年前 |
![]() |
Rob Lyndon · 未找到F#ProvidedTypes文件 7 年前 |
![]() |
red-swan · 如何将intro ML.Net演示翻译为F#? 7 年前 |
![]() |
jkone27 · F#-在编译时从字符串生成简单的空类型 7 年前 |