digitalmars.D.bugs - [Issue 6106] New: Keep track of changes during replace function
- d-bugmail puremagic.com (42/42) Jun 04 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6106
- d-bugmail puremagic.com (8/8) Mar 12 2012 http://d.puremagic.com/issues/show_bug.cgi?id=6106
http://d.puremagic.com/issues/show_bug.cgi?id=6106 Summary: Keep track of changes during replace function Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: Phobos AssignedTo: nobody puremagic.com ReportedBy: josvanuden gmail.com --- Comment #0 from josvanuden gmail.com 2011-06-04 19:15:09 PDT --- Just had an idea, not sure if it makes sense. When I was writing a code that executes a Markov algorithm, I had to call std.array.replace(R, R, R), then depending on whether the replacement had made any actual changes, I had to either continue the loop or redo it. In order to find out if replace had made any changes I had to keep a copy and compare on every iteration. The relevant part of the code: redo: auto copy = tests[i]; foreach (c; capt) { tests[i] = replace(tests[i], c[0], c[2]); if (c[1] == ".") break; if (tests[i] != copy) goto redo; } It occurred to me that it would have been useful if the replace function had had an out parameter keeping track of the number of changes. My code could have looked like this: redo: int changed; foreach (c; capt) { tests[i] = replace(tests[i], c[0], c[2], changed); if (c[1] == ".") break; if (changed) goto redo; } I realize that you can't meet everybody's needs and preferences, but I thought I'd suggest it just in case it might be doable. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 04 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6106 josvanuden gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P2 |P5 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 12 2012