Ishan Thilina wrote: > @ steve & Johannes: Yeah, it works for me now :). I informed the site > owners about this and he has rectified it :) > > @Denis: > >>You are right, indeed. To say it shortly, ranges are D's version of >>iterators or > generators, especially powerful and general. With its own set of issues > (somewhat >>complicated, rather opaque types, various bugs remaining), but globally >>extremely > useful and usable. Most of Phobos2 (the std lib) builds on ranges; this > applies even >more to collections: if you wish to implement new > collections for D, it is certainly required that they hold range factories > for iteration. Sometimes, more than one (eg >tree traversal breadth-first > vs depth-first, leaves only...). >> >>About D collections: aside std.container in Phobos, Steven Schweighoffer >>has a > fairly advanced project called dcollections: > http://www.dsource.org/projects>/dcollections. As I understand it, it is a > bit of a concurrent for std.container, but there seems to be a possibility > for them to converge in the future. In >any case, >you should definitely > study it, if only to take inspiration and avoid double work. >> >>Use the D learn mailing list to ask people for help in understanding D's >>more > advanced features and issues. >> >>Denis >>-- > > Thank you very much for that helpful answer. > The biggest challenge now i have is to find good resources to learn about > ranges. Any suggestions ?
Boostcon 2009 talk 'iterators must go' also recommended: http://blip.tv/file/2432106 The docs and sourcecode of std.range and std.algorithm is most relevant though, and this newsgroup or .learn for discussion and questions. > I'll look at the dcollections. I didn't know such a thing existed. It will > be a great help for me :).