5
私は意味、F#で(簡単な)数学的な機能追加を実装する:F#機能追加
の要素にの要素をマッピングされたすべての関数、の分野であることFを想像してみてB: 次のように続いて
、私の "機能追加" を定義する必要があります。
私は、次のコを試してみました私は次の行をコンパイルしたい場合は、私はエラーになります
let inline (!+) (f1 : ^a -> ^b, f2 : ^a -> ^b) : ^a -> ^b =
let f (x : ^a) : ^b =
(f1 x) + (f2 x)
f
:デ・オペレーター!+
として機能追加を実装する
let f1 x : float = -x // negate x
let f2 x : float = 2. * x // multiply by 2
let f3 = f1 !+ f2 //error : Expexceted `float`, got `'a -> 'b`
私はそれがあることを、かなり確信していますいくつかの単純な論理エラーによって引き起こされましたが、私はまだそれを見つけることができませんでした。
私の質問はこうです:どのようにF#で関数の追加を定義するのですか?
ありがとうございます、サー! – Unknown6656