csv ファイルから数値をインポートする場合、単位付きの浮動小数点数に変換する必要があります。
現在、インライン関数でこれを行っています。
data |> List.map float |> List.map (fun n -> n * 1.0<m>)
しかし、これを行うためのよりエレガントな方法があるかどうか疑問に思っています-または、変換関数を使用して独自の「ユニット」モジュールを作成する必要がありますか?
本当にいいのはこのようなものですが、それが可能かどうかは疑問です...
data |> List.map float |> List.map lift<m>
これは、以前の質問 ( F# 測定単位を一般的に削除する方法) の反対です。
更新:自家製ユニットの場合、これを試しましたが、問題なく動作します:
[<Measure>]
type km =
static member lift (v:float) = v * 1.0<km>
data |> List.map float |> List.map km.lift
または、この回答の質問に従ってください
data |> List.map (float >> km.lift)