質問
csvを最後に吐き出すデータ操作コードがあります。
どこでも測定単位を追加するためにアップグレードを開始しましたが、csv関数に問題があります:
val WriteCSV : string -> 'a list array -> 'b list -> string -> unit
(パラメーターはfileName、列配列、列ヘッダー、セパレーターです)
以前に[| s; x; y |]をWriteCSVに送信したところ、[| skm;を送信できないため問題が発生しました。 xmm; ymm |]。
測定単位を一般的に削除する関数を作成しようとしましたが、機能しません。
let removeUnit (n:float<_>) = n/1.0<_>
私の質問:
- なぜ機能しないのですか?
- 機能させることができますか?
- この特定の問題を解決する別の方法はありますか?
解決
問題が正しければ、<!> quot; pure <!> quot;にキャストします。 floatはユニットを削除します。 例:
[<Measure>] type m
[<Measure>] type km
let removeUnit (x:float<_>) =
float x
let foo = removeUnit 2.6<m>
let foo2 = removeUnit 2.1<km>
val removeUnit:float <!> lt; 'u <!> gt; -<!> gt;フロート
所属していません StackOverflow