Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez az üzenet akkor jelenik meg, ha egy lambda paraméterként van átadva, ahol egy érték várható.
A következő kód bemutatja a hibát:
let ignoreInt (f: int) = ()
do ignoreInt (fun x -> x + 1)
Ez a kód a következő kimenetet eredményezi:
error FS0002: This function takes too many arguments, or is used in a context where a function is not expected
Itt a típus a függvény függvényeként ignoreIntint -> unitvan definiálva, de ehelyett egy lambda típusú int -> int típus lesz átadva. Mert int -> int nem ugyanaz a típus, mint int az üzenet.
Az üzenet kijavításához a kódot úgy kell módosítani, hogy a függvénynek egy nem lambda argumentumot adjon át, ahogyan az ebben a példában is látható:
let ignoreInt (i: int) = ()
do ignoreInt 1