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.duca...@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 >