gpt4 book ai didi

.net - F# 模式匹配

转载 作者:行者123 更新时间:2023-12-01 08:41:26 24 4
gpt4 key购买 nike

我对 let 在 F# 中的模式匹配如何工作感到困惑。我正在使用 Visual Studio 的“F# 交互”窗口,F# 版本 1.9.7.8。假设我们定义了一个简单的类型:

type Point = Point of int * int ;;

并尝试使用 letPoint 的值进行模式匹配。

let Point(x, y) = Point(1, 2) in x ;;

失败并出现错误 FS0039:未定义值或构造函数“x”。应该如何使用 let 的模式匹配?

最奇怪的是:

let Point(x, y) as z = Point(1, 2) in x ;;

按预期返回 1。为什么?

最佳答案

你需要在你的模式周围加上括号:

let (Point(x, y)) = Point(1, 2) in x ;;

否则无法将模式与函数绑定(bind)区分开来......

关于.net - F# 模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2295605/

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