Đây là một trình tạo đơn giản trong C#.Tương đương "lợi nhuận" tương đương với ngôn ngữ lập trình D là gì?
IEnumerable<int> Foo()
{
int a = 1, b = 1;
while(true)
{
yield return b;
int temp = a + b;
a = b;
b = temp;
}
}
Làm cách nào để viết trình tạo tương tự trong Kỹ thuật số Mars D?
(Câu hỏi đặt ra là về sự trở lại tuyên bố năng suất)
Cảm ơn!
Cập nhật. Điều đó thật thú vị. Vì tôi chỉ tạo một chuỗi toán học, sử dụng recurrence có thể là một lựa chọn tốt.
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);
}
Lưu ý rằng bạn có thể viết fib.take (10) bây giờ gây ra Cú pháp gọi hàm đồng nhất đã được tăng cường. – Trass3r
Thậm chí tìm thấy bài viết: http://www.drdobbs.com/blogs/cpp/232700394 – Trass3r