of these methods. beginsWith: aSequence
"Answer true if aSequence is a prefix of the receiver.
This makes sense for all sequences.
There is a compatibility issue concerning 'abc' beginsWith: ''
+ VisualWorks, Dolphin, astc, GNU ST (where the method is
called #startsWith:) and VisualAge (where the method
is called #wbBeginsWith:)
agree than EVERY sequence begins with an empty prefix.
- Squeak and Pharo
agree that NO sequence begins with an empty sequence.
# ST/X chooses compatibility with Squeak, heaving a big unhappy
sigh, and adds #startsWith: to have something sensible to use.
Now ST/X *thinks* it is compatible with VW, though it isn't, so
I wonder if this was a bug that VW fixed and Squeak didn't?
astc goes with the majority here. This is also compatible with
Haskell, ML, and with StartsWith in C# and startsWith in Java."
^self beginsWith: aSequence ignoringCase: false
endsWith: aSequence
"Answer true if aSequence is a suffix of the receiver.
This makes sense for all sequences.
There is a compatibility issue concerning 'abc' endsWith: ''.
+ VisualWorks, Dolphin, astc, GNU ST, and VisualAge (where
the method is called #wbEndsWith:)
agree that EVERY sequence ends with an empty suffix.
- Squeak and Pharo
agree that NO sequence ends with an empty suffix.
# ST/X chooses compatibility with the majority, apparently
unaware that this makes #beginsWith: and #endsWith: inconsistent.
astc goes with the majority here. This is also compatible with
Haskell, ML, C#, and Java."
^self endsWith: aSequence ignoringCase: false
then realised that maybe other people don't think this IS a bug.