[Newbies] Remove trailing spaces of aString

H. Hirzel hannes.hirzel at gmail.com
Sat Apr 28 08:14:04 UTC 2012


On 4/28/12, David T. Lewis <lewis at mail.msen.com> wrote:
> I'll note that 'trimRight' is a poorly considered change in Pharo.
> A name like 'withoutTrailingBlanks' implies making a copy of the
> original string, but with the trailing blanks removed. That is of
> course exactly what the method is supposed to do. But the name
> 'trimRight' implies an operation on the receiver itself, as in
> "trim something from the right of this string". This is not at all
> what you want, and it is not what the method actually does either.
>
> Smalltalk makes it very easy to make changes like this, but this
> also makes it quite important to think about the meaning of the
> names used for your methods and classes.
>
> It is also important to use some common sense when changing the
> names of methods that other people may be using. It is often the
> case that you will not know about all of the people who may be
> using your classes and methods, so changing their names carelessly
> can have unintended side effects. This was the case for me with
> the 'trimRight' name change, which caused a number of annoying
> problems for a package that I maintain.

Thank you for this clarification, Dave.
A follow up question: How did you deal with this to make code work in
Pharo and Squeak?
Which coding pattern did you use?

--Hannes


> Dave
>
>
> On Fri, Apr 27, 2012 at 11:20:26PM +0200, H. Hirzel wrote:
>> Thank you Tobias for answer
>>   'abc ' withoutTrailingBlanks    "Squeak"
>>
>> Blake for pointing out the Pharo method
>>
>>    ''abc  '   trimRight    "Pharo"
>>
>>
>> The reminder about MethodFinder is useful.
>> MethodFinder methodFor: { {'abc  '} . 'abc' }
>>
>> --Hannes
>>
>> On 4/27/12, blake <dsblakewatson at gmail.com> wrote:
>> > Sorry, Hannes,
>> >
>> > I happened to have Pharo up right then so I used that. Not thrilled
>> > they have different methods for this.
>> >
>> > ===Blake===
>> >
>> > On Fri, Apr 27, 2012 at 12:28 PM, H. Hirzel <hannes.hirzel at gmail.com>
>> > wrote:
>> >> Blake,
>> >>
>> >> This is actually the problem
>> >>
>> >> 'abc ?? ??' trimRight
>> >>
>> >> does not work in
>> >>
>> >> 4.3, Update 11860 ??(= the version in the one-click download from
>> >> http://ftp.squeak.org/4.3/Squeak-4.3-All-in-One.zip )
>> >>
>> >> "unknown selector"
>> >>
>> >> Which version do you use?
>> >>
>> >> --Hannes
>> >>
>> >> On 4/27/12, blake <dsblakewatson at gmail.com> wrote:
>> >>> In a Workspace, try:
>> >>>
>> >>> 'abc ?? ??' trimRight
>> >>>
>> >>> There's also trimLeft and a trimBoth. You can browse the String class
>> >>> to see them. You can also see the code in there which gives a hint as
>> >>> to how easy it is to modify for different character.
>> >>>
>> >>> ===Blake===
>> >>>
>> >>> On Fri, Apr 27, 2012 at 8:27 AM, H. Hirzel <hannes.hirzel at gmail.com>
>> >>> wrote:
>> >>>> Hello
>> >>>>
>> >>>> I use Squeak 4.3, Update 11860.
>> >>>>
>> >>>> I want to remove the trailing spaces and or tabs and LF of a String
>> >>>>
>> >>>> something like
>> >>>> 'abc
>> >>>> '
>> >>>>
>> >>>> should just be
>> >>>> 'abc'.
>> >>>>
>> >>>> If I remember ??that there was a method in class String to something
>> >>>> like this. Is this correct?
>> >>>> Is there a package with additional String convenience methods?
>> >>>>
>> >>>> Thank you for the answer in advance
>> >>>> --Hannes
>> >>>> _______________________________________________
>> >>>> Beginners mailing list
>> >>>> Beginners at lists.squeakfoundation.org
>> >>>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>> >>> _______________________________________________
>> >>> Beginners mailing list
>> >>> Beginners at lists.squeakfoundation.org
>> >>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>> >>>
>> >> _______________________________________________
>> >> Beginners mailing list
>> >> Beginners at lists.squeakfoundation.org
>> >> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>> > _______________________________________________
>> > Beginners mailing list
>> > Beginners at lists.squeakfoundation.org
>> > http://lists.squeakfoundation.org/mailman/listinfo/beginners
>> >
>> _______________________________________________
>> Beginners mailing list
>> Beginners at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>


More information about the Beginners mailing list