Wie bereits in der Frage diskutiert, werden %code% -Ausdrücke mit einem Berechnungsausdruck für die %code% -Klausel einfach nicht unterstützt (in F # 3.1). Es ist jedoch einfach, eine Funktion zu implementieren, die im Wesentlichen ein solches Verhalten aufweist. Hier ist eine Beispielimplementierung:
%Vor%Zum Beispiel:
%Vor%Sie können die %code% nicht ausführen, da Sie schließlich die Nachricht vom Compiler bekommen "Sie können do! nur in einem Berechnungsausdruck verwenden", aber es ist immer noch drin.
Ich weiß, wie ich das lösen kann, aber ich möchte verstehen, warum der Compiler dieses Szenario einschränkt.
Ok, nach einigem Gerede denke ich, dass es so entzuckert ist: (Ich bin sehr glücklich, dass wir Cexprs schreiben können)
von:
%Vor%zu:
%Vor%Ich bekomme, dass der zweite Teil von %code% keine %code% unterstützt.