簡體   English   中英

F# 中的選擇類型實現

[英]Choice type implementation in F#

我在 F# 中相當新,並且在選擇類型實現方面存在一些問題。 我有三種類型。

type A = p of string
type B = {q:string;r:int}
type C = s of string

然后我有一個這樣的選擇類型。

type D = A | B | C

現在我在創建 D 類型的變量時遇到問題。 我正在嘗試做這樣的事情,

let v = {q="abc";r=12}
let vofD = D.B v

但它給出了這個錯誤,

此值不是 function,不能應用

我試圖搜索關於這件事的文檔,但似乎我無法找到任何好的文檔或解決方案。 任何幫助將不勝感激。

問題是 F# 編譯器不理解DB指的是類型B 如果您像這樣定義您的有區別的工會:

type D =
   | FromA of A
   | FromB of B
   | FromC of C

然后你可以寫let vofD = D.FromB v

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM