为什么 F# seq 以小写字母开头?

Why F# seq starts with small letter?

提问人:geeko 提问时间:8/29/2021 更新时间:8/30/2021 访问量:92

问:

我是 F# 的新手,我注意到除序列外,所有其他集合类型都以大写字母开头。这是因为 实际上只是 IEnumerable 的别名,而不是像其他别名那样的实际新 F# 类型吗?seq

谢谢。

F# 序列 命名

评论

0赞 geeko 8/29/2021
谢谢@BentTranberg提示。

答:

2赞 citykid 8/29/2021 #1

在 F# 中,序列可以通过名为“seq”的内置计算表达式来表示。按照惯例,计算表达式为小写。您可以用大写字母定义自己的计算表达式,但约定是小写的。

seq - 用作计算表达式时 - 不是 IEnumerable 的别名,但 seq 将创建一个 IEnumerable。

但是,正如评论中阐明的那样,seq 还有更多含义。

评论

0赞 geeko 8/29/2021
嗨,@cityid。谢谢你的答案。其他 F# 集合类型是否具有类似的计算表达式?
0赞 citykid 8/29/2021
不。但是对于列表,有一个类似于 seq { yield 1 } 的类似物:[ yield 1 ] 所以在列表的情况下,你只使用括号。
2赞 TheQuickBrownFox 8/30/2021
实际上,该类型 的别名。请参阅此处:stackoverflow.com/a/45530162/609639seqIEnumerable
0赞 citykid 8/30/2021
哦,是的,seq 有很多东西,对吧!良好的链接
0赞 citykid 8/30/2021
@BentTranberg确定是这样。“seq”以小写字母开头。