4
以下の例では、省略形を使用しています。なぜ、funキーワードなしでそれを呼び出すのとは対照的に、funキーワードを使用すべきですか?型略称/エイリアスを使用する場合、なぜfunキーワードを使用する必要がありますか?
type AdditionFunction = int->int->int
let f:AdditionFunction = fun a b -> a + b
以下の例では、省略形を使用しています。なぜ、funキーワードなしでそれを呼び出すのとは対照的に、funキーワードを使用すべきですか?型略称/エイリアスを使用する場合、なぜfunキーワードを使用する必要がありますか?
type AdditionFunction = int->int->int
let f:AdditionFunction = fun a b -> a + b
AdditionFunction
タイプで注釈を付けることはできません。これは、タイプint -> int -> int
の値に置く必要があります。そして、F#の構文が動作する方法は、let-boundスタイルで行うことができないということです。
あなたのオプションは以下のとおりです。
let f : int -> int -> int =
fun a b -> ...
let f a : int -> int =
fun b -> ...
let f a b : int =
...
とだけ最初のものは、あなたが別名で置き換えることができますタイプがあります。
最終的にあなたはそれをする必要はありません。 int -> int -> int
関数として定義することができ、AdditionFunction
を使用すればどこでも使用できます。
型のエイリアスは、そのエイリアスです。それらは、コンパイル中にそのタイプと互換性があり、コンパイル中に消去されます。