www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Generators in D

reply Matthew_Blake <wwsyutn72i btw7m.anonbox.net> writes:
Hi there,

is the concept of generators (like in Python, using yield) 
available in D? If so, where can I find information?

Regards
Feb 19
next sibling parent Andre Pany <andre s-e-a-p.de> writes:
On Tuesday, 19 February 2019 at 18:37:22 UTC, Matthew_Blake wrote:
 Hi there,

 is the concept of generators (like in Python, using yield) 
 available in D? If so, where can I find information?

 Regards
I do not know python well, but do you search for this one? http://ddili.org/ders/d.en/fibers.html Kind regards Andre
Feb 19
prev sibling parent reply Paul Backus <snarwin gmail.com> writes:
On Tuesday, 19 February 2019 at 18:37:22 UTC, Matthew_Blake wrote:
 Hi there,

 is the concept of generators (like in Python, using yield) 
 available in D? If so, where can I find information?

 Regards
Generally speaking, things that are generators in Python are implemented as ranges [1] in D. If ranges aren't a good fit for your problem, though, you can also use opApply [2] and std.concurrency.Generator [3]. [1] https://tour.dlang.org/tour/en/basics/ranges [2] https://dlang.org/spec/statement.html#foreach_over_struct_and_classes [3] https://dlang.org/phobos/std_concurrency.html#.Generator
Feb 19
parent Matthew_Blake <wwsyutn72i btw7m.anonbox.net> writes:
On Tuesday, 19 February 2019 at 18:56:01 UTC, Paul Backus wrote:
 On Tuesday, 19 February 2019 at 18:37:22 UTC, Matthew_Blake 
 wrote:
 Hi there,

 is the concept of generators (like in Python, using yield) 
 available in D? If so, where can I find information?

 Regards
Generally speaking, things that are generators in Python are implemented as ranges [1] in D. If ranges aren't a good fit for your problem, though, you can also use opApply [2] and std.concurrency.Generator [3]. [1] https://tour.dlang.org/tour/en/basics/ranges [2] https://dlang.org/spec/statement.html#foreach_over_struct_and_classes [3] https://dlang.org/phobos/std_concurrency.html#.Generator
Thank you both! I'll look into it
Feb 19