【问题标题】:Why F# seq starts with small letter?为什么 F# seq 以小写字母开头?
【发布时间】:2021-08-29 11:38:13
【问题描述】:

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

谢谢。

【问题讨论】:

  • 感谢@BentTranberg 的提示。

标签: f# sequence naming


【解决方案1】:

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

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

但是在 cmets 中阐明了 seq 的更多含义。

【讨论】:

  • 嗨@cityid。谢谢你的答案。其他 F# 集合类型是否有类似的计算表达式?
  • 没有。但是对于列表有一个类似于 seq { yield 1 } 的类比:[ yield 1 ] 所以在列表的情况下你只需使用括号。
  • 其实seq这个类型IEnumerable的别名。见这里:stackoverflow.com/a/45530162/609639
  • 哦,是的,seq 有很多东西,对吧!好链接
  • @BentTranberg 确实如此。而“seq”以小写字母开头。
猜你喜欢
  • 2021-02-26
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-25
相关资源
最近更新 更多