条項が一般的な測定単位を使用するDUを定義する方法はありますか?例えば
type MyDU =
| A of int<_>
| B of float<_>
このコードはコンパイルされませんが、ジェネリック測定単位で数値を受け取る通常の関数を指定できます。
let f (n : int<_>) = n * n;;
val f : int<'u> -> int<'u ^ 2>
of
各ユニオン句が最終的には後で指定された型をプライベート型に変換する関数であることを考えると、それが関数定義では機能するが型定義では機能しない特別な理由がありますかMyDU.A
?MyDU.B
ここでやりたいことをする方法はありますか?そうでなければ、なぜそれもうまくいかないのか知りたいです!
ありがとう、