gpt4 book ai didi

f# - 在序列计算表达式中的 for 循环中产生

转载 作者:行者123 更新时间:2023-12-04 01:54:59 25 4
gpt4 key购买 nike

为什么这些工作

let x = seq { for i in 1 .. 10 do yield i }
let x = seq { for i in 1 .. 10 -> i }
let x = seq { for i = 1 to 10 do yield i }

但这个没有?
let x = seq { for i = 1 to 10 -> i }

最佳答案

根据 the F# specification , 序列表达式可以是普通的计算表达式(这是您编写 do yield 的情况),也可以是特定于序列表达式的简短形式:

seq { comp-expr }
seq { short-comp-expr }
comp-expr case 涵盖了您的第一个和最后一个工作示例。简短形式使用 ->并且规范明确指出唯一允许的缩写形式是 in关键词:
short-comp-expr :=
for pat in expr-or-range-expr -> expr -- yield result

还有许多其他简短的形式在实践中很有用,但我想目的是为这个非常频繁的案例提供一种特殊的语法,否则保持语言统一。

关于f# - 在序列计算表达式中的 for 循环中产生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com