簡體   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