Brauchen Sie Hilfe zum Verständnis von Lambda (Currying)
Ich lese Accelerated C # Ich verstehe den folgenden Code nicht wirklich:
public static Func<TArg1, TResult> Bind2nd<TArg1, TArg2, TResult> (
this Func<TArg1, TArg2, TResult> func,
TArg2 constant )
{
return (x) => func( x, constant );
}
in der letzten Zeile, worauf bezieht sich x? und da ist noch einer:
public static Func<TArg2, Func<TArg1, TResult>> Bind2nd<TArg1, TArg2, TResult>
( this Func<TArg1, TArg2, TResult> func )
{
return (y) => (x) => func( x, y );
}
Wie bewerte ich das?(y) => (x) => func( x, y )
was wird wo übergeben ... es macht verwirrend.