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

nim*_*ish 4 f# pattern-matching

我想做:

let Some(x) = bar in ...
Run Code Online (Sandbox Code Playgroud)

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

let Some(x) as idontcare = bar in ...
Run Code Online (Sandbox Code Playgroud)

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

(我会使用,_但不解析所以我使用__而不是)

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

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

kvb*_*kvb 7

let Some(x) = bar
Run Code Online (Sandbox Code Playgroud)

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

let (Some(x)) = bar
Run Code Online (Sandbox Code Playgroud)