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









d-bugmail puremagic.com 