digitalmars.D.bugs - [Issue 1590] New: std.string.startsWith and endsWith please
- d-bugmail puremagic.com (20/20) Oct 16 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1590
- d-bugmail puremagic.com (6/6) Oct 16 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1590
- d-bugmail puremagic.com (7/7) Oct 16 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1590
- d-bugmail puremagic.com (7/7) Oct 16 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1590
- d-bugmail puremagic.com (10/10) Oct 19 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1590
- Bill Baxter (12/30) Oct 19 2007 Sounds good, but what module? Doesn't seem to have much reason to be in...
- Derek Parnell (12/24) Oct 19 2007 And I assume it returns a boolean?
- d-bugmail puremagic.com (6/6) Oct 19 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1590
- d-bugmail puremagic.com (15/15) Oct 19 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1590
- d-bugmail puremagic.com (8/11) Oct 19 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1590
- d-bugmail puremagic.com (7/7) Mar 06 2008 http://d.puremagic.com/issues/show_bug.cgi?id=1590
http://d.puremagic.com/issues/show_bug.cgi?id=1590 Summary: std.string.startsWith and endsWith please Product: D Version: 2.006 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: bugzilla digitalmars.com ReportedBy: wbaxter gmail.com These would be very nice to have in Phobos' std.string. Java's strings have them (startsWith, endsWith) Python's strings have them (startswith, endswith) Ruby strings have them (starts_with, ends_with) Perl maybe doesn't have it but perl has ~=/^xxx/ and ~=/xxx$/. Don't let D be the only one without! They're simple functions but oft-used. --
Oct 16 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1590 wbaxter gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement --
Oct 16 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1590 andrei metalanguage.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrei metalanguage.com Status|NEW |ASSIGNED --
Oct 16 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1590 andrei metalanguage.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bugzilla digitalmars.com |andrei metalanguage.com Status|ASSIGNED |NEW --
Oct 16 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1590 andrei metalanguage.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED The functions hasPrefix(E1[] longer, E2[] shorter) and hasSuffix(E1[] longer, E2[] shorter) will be part of the next minor release and work with all sensible combinations of E1 and E2. --
Oct 19 2007
d-bugmail puremagic.com wrote:http://d.puremagic.com/issues/show_bug.cgi?id=1590 andrei metalanguage.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED The functions hasPrefix(E1[] longer, E2[] shorter) and hasSuffix(E1[] longer, E2[] shorter) will be part of the next minor release and work with all sensible combinations of E1 and E2.Sounds good, but what module? Doesn't seem to have much reason to be in std.string if it works with any types. Perhaps it's time std got an array utils module with generic array manipulation functions? (A la cashew.utils.array). You know with "advanced" functionality like removing an item from an array, etc. And if it's not going into std.string, I think there's a case to be made that std.string should still have a startsWith and endsWith (that just alias hasPrefix/hasSuffix) because std.string is where people will look for it and those are the names people will expect. Either way I'll be happy to have the functionality in the std library. :-) --bb
Oct 19 2007
On Fri, 19 Oct 2007 18:07:23 +0000 (UTC), d-bugmail puremagic.com wrote:http://d.puremagic.com/issues/show_bug.cgi?id=1590 andrei metalanguage.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED The functions hasPrefix(E1[] longer, E2[] shorter) and hasSuffix(E1[] longer, E2[] shorter) will be part of the next minor release and work with all sensible combinations of E1 and E2.And I assume it returns a boolean? What happens in the edge cases? Such as hasPrefix("abc", "abc"); hasPrefix("abc", ""); hasPrefix("", "abc"); hasPrefix("", ""); -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Oct 19 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1590 The best approach would be to define std.algorithm and put the two functions in there. As for terminology, google indeed reveals that startsWith and endsWith are much more popular, so I'll commit to these names. --
Oct 19 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1590 Just for the record, Andrei's reply above was a response to this NG post: """ Sounds good, but what module? Doesn't seem to have much reason to be in std.string if it works with any types. Perhaps it's time std got an array utils module with generic array manipulation functions? (A la cashew.utils.array). You know with "advanced" functionality like removing an item from an array, etc. And if it's not going into std.string, I think there's a case to be made that std.string should still have a startsWith and endsWith (that just alias hasPrefix/hasSuffix) because std.string is where people will look for it and those are the names people will expect. """ --
Oct 19 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1590The best approach would be to define std.algorithm and put the two functions in there. As for terminology, google indeed reveals that startsWith and endsWith are much more popular, so I'll commit to these names.Seems reasonable. Things in there will only work on objects that support the T[] random-access interface for now (and probably only actual D arrays?) but can be expanded later to include iterators if Phobos ever defines a standard for those. --
Oct 19 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1590 andrei metalanguage.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --
Mar 06 2008