[Pharo-project] Smalltalk string API

csrabak at bol.com.br csrabak at bol.com.br
Wed Feb 16 22:47:18 CET 2011


Incurring on the risk of appearing obvious:

for the rant on the "very object oriented, very intuitive and very standard", I think we could create three symbols: #lesser, #equal, #greater, and return then instead of 1,2 and 3.

my 0.0199...

--
Cesar Rabak


Em 16/02/2011 07:56, Stéphane Ducasse < stephane.ducasse at inria.fr > escreveu:
Hi nicolas

propose something and we can react :)
I'm busy with project proposal, teaching and 1.2 right now.

Stef


On Feb 16, 2011, at 10:24 AM, Nicolas Cellier wrote:

> 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 Pharo-project mailing list