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
を取り、string
(ないobj
)としてJon
を取得したいと思います。どうすればいい?戻り値は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