質問

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;フロート

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top