split:

Keith Hodges keith_hodges at yahoo.co.uk
Sat Sep 16 01:20:17 UTC 2006


The question as to whether split: should work with Strings or Regex's is 
something that should be handled with a double dispatch. If you feed it 
a String it should use a string if you feed it a Regex then it will use 
a Regex.

eg := 'Now is the time for all good men to come to the aid of the  party'.

eg splitOnEvery: 'the'
eg splitOnEvery: ( '+[\s]' asRegex ).
eg splitOnEvery: $e.
#(1 2 3 4 5 6 7 8 9) splitOnEvery: #(4).
#(1 2 3 4 5 6 7 8 9) splitOnEvery: #(4 5 6).
#(1 2 3 4 5 6 7 8 9) splitOnEvery: [ :n | n isPrimeNumber ]

SequencableCollection>>splitOnEvery: aSpliter
^aSpliter  splitUp:  self
 
aRegex>>splitUp: aString.
...regex implementation
aString>>splitUp: aString.
...string implementation
aCharacter>>splitUp: aString.
...character implementation
aSequencableCollection>>splitUp: aSequencableCollection
... generic collection implementation.
aMonadicBlock>>splitOnEvery: thing
^ thing splitUsing: aBlock.

more ideas

Keith




 >In my viewer I saw two spaces at "the  party".
 >So what should happen for #split: on a single space.
 >Should there be an extra item with value nil or an
 >empty string? Or should there be no extra item?

I think that the convention is to return an empty string. -> #('the' '' 
'party')


	
	
		
___________________________________________________________ 
Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com



More information about the Squeak-dev mailing list