私は StrangeLights の宣伝文を読み、Expert F# (page 119) からの一節を読みましたが、それらが私のコードにどのように適用されるかわかりません:
私のテストでは、少しの許容範囲で、float 間の同等性をチェックしたいと考えています。すべてを測定単位に変換していますが、「一般的」になりたいです。
let toleq (e:float<_>) a b = (abs ( a - b ) ) < e
次に、これを使用して、さまざまな「タイプ」のフロートで同等性をチェックしたり、カリー化してカスタムのものを作成したりできます。
toleqm = toleq 1.0e-10<m>
しかし、次のメッセージが表示されます。
Type inference has inferred the signature
val toleq : float<'u> -> float<'u> -> float<'u> -> bool
Either define 'toleq' as a simple data term, make it a function, or add a
type constraint to instantiate the type parameters.
関数にするためにこれ以上できることがわかりません-暗黙のパラメーターが表示されません。
調子はどう?