2
我想從Quotation
的記錄中獲取字段的輸入值。它似乎應該是直線前進,但我有點失落。從報價中獲取字段值並將其轉換爲其類型
例如,
type FullName = { First : string; Last : string }
type Name = { Name : FullName }
let t = { Name = { First = "Jon"; Last = "N" } }
let name = <@ t.Name.First @>
然後我想借值name
並獲得Jon
爲string
(不是obj
)。我將如何做到這一點?有時返回值可能是Array
或另一個Record
。
在此先感謝!
更新:
所以需要檢查null
我將使用該功能在F#的邊緣:
let getValue (expr: Quotations.Expr<'t>) =
match eval expr with
| null -> None
| x -> Some ((eval expr) :?> 't)
看起來你需要編譯和執行報價。或者我錯過了什麼? – Gustavo
如何從報價中提取實際值與其類型?對不起,我不確定如何更清楚。 – Jon49
現在我只是在劇本中玩它。我發現這個片段讓我在一半的地方,但它返回到'obj' http://www.fssnip.net/h1 – Jon49