を使用して、以下のコードを考えてみましょう:'オプション<unit->ユニット>タイプと平等' のF#
let fnOption = Some (fun() ->())
fnOption = None
それは次のエラーを与える:
init.fsx(2,1): error FS0001: The type '(unit -> unit)' does not support the 'equality' constraint because it is a function type
それはなぜですか?私は何か見落としましたか?
ファンクションはFPのファーストクラスの値ですが、それらが渡されるパラメータに基づいて他の値を生成する意味で特別な型の値であるため、2つのファンクションを比較することは意味がありません。結果は関数のための等価演算子が定義されていません – Ankur