Bitte beachten Sie die folgenden zwei Funktionen:
%Vor% Während composite(first, second)
die Komposition von first
und second
berechnet, berechnet iterate(function, n)
die nth
iterieren von function
.
Während die Einschränkung Y extends X
für jede n > 0
ausreicht, haben wir ein Problem mit n == 0
. Mathematisch sollte iterate
die Identitätsfunktion ergeben. Daher würden wir auch X extends Y
, d. H.% Co_de%, ebenfalls benötigen.
Bitte beachten Sie das folgende Beispiel
%Vor%Dies ergibt die Fehlermeldung:
%Vor% Was ist die beste Option hier? Wenn X == Y
, könnten wir überprüfen, ob n == 1
als X
akzeptabel ist. Ich würde gerne andere Optionen und einige Ideen hören, wie diese Prüfung durchgeführt werden kann (soweit ich weiß, gibt es keine einfache Lösung, um zwei generische Parameter auf Gleichheit zu überprüfen).
Versuchen Sie:
%Vor%Wenn Y & lt ;: X, dann ist eine Funktion von X nach Y auch eine Funktion von X nach X, und Sie sollten in der Lage sein zu tun, was Sie wollen.