繁体   English   中英

F#中的let绑定中的模式匹配

[英]Pattern matching in let binding in F#

我想要做:

let Some(x) = bar in ...

但除非我这样做,否则我不能这样做

let Some(x) as idontcare = bar in ...

有没有更好的方式说“我不关心整个模式,只是匹配内部”

(我会使用_但不解析所以我使用__代替)

是的,我知道这是部分的,我只是在做一个快速的脚本。

编辑:这只是一个内置和类型的例子,所以Option.get不是通用的; 另外我希望它像Haskell let-bindings一样内联。

let Some(x) = bar

定义一个新函数Some ,遮蔽现有构造函数。 相反,你想要:

let (Some(x)) = bar

你可以使用match

match bar with | Some(x) -> ...

如果你想特别匹配一个选项,你可以使用Option.get

bar |> Option.get |> ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM