Angenommen, ich habe zwei Funktionen, f:X->Y
und g:Y*Y->Z
. Ich möchte eine dritte Funktion machen, h(a, b) = g(f(a), f(b))
.Verketten Multi-Parameter-Funktionen
h a b = g (f a) (f b)
Gibt es eine Möglichkeit, es wie h(a, b) = g*f (a, b)
zu schreiben?
Und was ist, wenn h(a,b,c,d) = g2*g1*f2*f1 (a,b,c,d)
, wo g_i
2 Args dauert?
Ihre zwei Beispiele nicht synchron sind. Der erste sollte 'g (f1 a) (f2 b)' oder der zweite 'g (f a) (f b) (f c) (f d)' sein. –
Sie können 'h = \ a b -> g (f a) (f b)' als 'h = (. F) schreiben. g. f, aber du solltest nicht (Lesbarkeit). –
in Ihrem neuen 2. Beispiel meinen Sie 'f' Funktionen, die' arg nehmen, und 'g'Funcs nehmen 2? Dann brauchst du eine 3. Stufe. Könntest du es genau ausschreiben? –