Ich lerne gerade F #, aber ich habe Schwierigkeiten, das zu verstehen:
%Vor% Ich kann nicht herausfinden, was der Operator yield!
genau macht, obwohl ich andere einfachere Beispiele gelesen habe und es scheint, dass yield!
eine innere Sequenz zurückgibt.
Der Yield-Bang-Operator führt die von den aufgerufenen Sequenzausdrücken erzeugte Untersequenz zu der endgültigen Sequenz zusammen. Oder einfacher ausgedrückt: es "flacht" die zurückgegebene Sequenz ab, um die Elemente der Untersequenz in die endgültige Sequenz aufzunehmen.
Für Ihr Beispiel: Ohne den Yield-Bang-Operator würden Sie etwas wie
erhalten %Vor%mit dem Yield-Bang-Operator erhalten Sie
%Vor% wobei jedes {
eine neue Sequenz bezeichnet. Seitenknoten: Das tatsächliche Ergebnis aus meinem ersten Beispiel würde sogar mehr Sequenzen enthalten, da es Sequenzen zurückgibt, die nur Sequenzen enthalten, da die Primzahl nur zurückgegeben wird, wenn n is prime
.