Was ist ein „Yield Return“ -Äquivalent in der Programmiersprache D?
Hier ist ein einfacher Generator in C #.
IEnumerable<int> Foo()
{
int a = 1, b = 1;
while(true)
{
yield return b;
int temp = a + b;
a = b;
b = temp;
}
}
Wie schreibe ich einen ähnlichen Generator inDigital Mars D?
(Die Frage bezieht sich auf dasyield return Erklärung
Vielen Dank
Aktualisieren. Das ist interessant. Da ich gerade eine mathematische Sequenz generiere, benutze ichWiederholun kann eine gute Option sein.
auto fib = recurrence!("a[n-1] + a[n-2]")(1, 1);
foreach (e; take(fib, 10)) // <- prints first ten numbers from the sequence
{
writeln(e);
}