Dear lovely D community, recently I refactored some code into component style (see Component Programming in D by Walter http://www.drdobbs.com/architecture-and-design/component-programming-in-d/240008321)
It looks about like this someInputRange .filter!() .map!() Next I want to discard all elements but perform some last operation on each element. The problem is that map forces me to pass a function that returns. Of course I could return a fake value. But that doesn't look proper. Another option is to iterate using the foreach loop. Does not look better either, does it? This makes me believe that std.algorithm misses an algorithm. The for_each algorithm (see for_each in STL http://www.cplusplus.com/reference/algorithm/for_each/). To rephrase the problem more general (because maybe I'm just not seeing how to fit the pieces together): How do you perform some arbitrary operation on the elements of a range? myRange .each!((e) { e.someOperation(); }); Jens
