は、我々は非常にシンプルな機能にToStringメソッドは
let fn a = a.ToString()
を得たことがタイプだと言う)(単位値のためとNullReferenceExceptionをスローするとNullReferenceExceptionにおける関数の結果に単位の値を渡す、しかしa -> string
と推測されます。
は、上記のような単純な関数の場合、これは簡単に回避される可能性がありますが、私は、より複雑なシナリオでは、実際よ:
let eitherToHttp e =
match e with
| Either.Ok v -> OK (v.ToString())
| Either.Bad reason -> reasonToErrorCode reason
これのタイプはEither<'a, RejectReason> -> WebPart
である(実際にはどのようなWebPart
とEither
ここでは無関係です)
e
のタイプがEither<unit, RejectReason>
のシナリオでは、関数は単純なシナリオの場合とまったく同じようにスローされます。
どうすればいいですか? 実際にはこれがすべての型に対して機能しない場合、型をgeneric型として推測する必要がありますか?
ユニットは実行時に 'null'定数で表されるため、自然にユニットを呼び出すことはできません。 –