[squeak-dev] Smalltalk string API

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Wed Feb 16 09:24:36 UTC 2011


I started referencing Smalltalk idioms at
http://en.wikipedia.org/wiki/Comparison_of_programming_languages_(string_functions)
I could have focused on ANSI but have chosen Squeak/Pharo. Feel free
to correct me and to complete me.

This is a very enlighting exercize, especially for pointing when API
turns to be not that bright.
During my perigrination, I notably noticed this:

#compare: returns 1, 2, or 3 : this is both very object oriented, very
intuitive and very standard and the rest of the world is stupid,
unless...

#findLastOccurrenceOfString:startingAt: in its current form is stupid
to my taste, because
1) implementation is inefficient
2) the startingAt: only skip the beginning of the string which seems
odd for a rfind operation
I would rather expect this kind of usage:
last := aString findLastOccurrenceOfString: 'to' startingAt: aString size.
lastButOne := aString findLastOccurrenceOfString: 'to' startingAt: last - 1.

The CamelCase is sometimes abusive like #includesSubString:

There is no format. I know, purists will tell me that encoding a
format in a cryptic string is not in the Smalltalk spirit, but please
then tell me how to specify a formatting efficiently and also remove
cryptic regex encoding (a pity, it's not in trunk).

I let a few holes (split/join etc...)

Cheers



More information about the Squeak-dev mailing list