class: CharacterArray
changed: #asCollectionOfSubstringsSeparatedBy:textSeparator:
--- a/CharacterArray.st Tue Jun 25 19:39:43 2013 +0200
+++ b/CharacterArray.st Tue Jun 25 19:41:14 2013 +0200
@@ -2564,64 +2564,64 @@
|aTextSeparatorChar items scanningWord inStream element lastIsFieldSeparator sz|
aTextSeparatorOrNil isNil ifTrue:[
- ^ self asCollectionOfSubstringsSeparatedByAll: aFieldSeparatorString
+ ^ self asCollectionOfSubstringsSeparatedByAll: aFieldSeparatorString
].
sz := aTextSeparatorOrNil size.
sz = 0 ifTrue:[
- aTextSeparatorChar := aTextSeparatorOrNil
+ aTextSeparatorChar := aTextSeparatorOrNil
] ifFalse:[sz = 1 ifTrue:[
- "this is a String. Fetch the first character - compatibility to older expecco libs"
- aTextSeparatorChar := aTextSeparatorOrNil first.
+ "this is a String. Fetch the first character - compatibility to older expecco libs"
+ aTextSeparatorChar := aTextSeparatorOrNil first.
] ifFalse:[
- self error:'textSeparatoSize > 1'.
+ self error:'textSeparatoSize > 1'.
]].
items := OrderedCollection new.
inStream := ReadStream on:self.
[
- inStream skipSeparators.
- inStream atEnd
+ inStream skipSeparators.
+ inStream atEnd
] whileFalse:[
- lastIsFieldSeparator := false.
- inStream peek == aTextSeparatorChar ifTrue:[
- inStream next.
- element := ''.
- scanningWord := true.
- [ inStream atEnd not and:[scanningWord] ] whileTrue:[
- element := element , (inStream upTo:aTextSeparatorChar).
- (inStream peek == aTextSeparatorChar) ifTrue:[
- element := element , aTextSeparatorChar .
- inStream next.
- ] ifFalse:[
- scanningWord := false.
- ].
- ].
- inStream upToAll:aFieldSeparatorString.
- ] ifFalse:[
- element := inStream upToAll:aFieldSeparatorString
- ].
- items add:element.
- lastIsFieldSeparator := (inStream skipThroughAll:aFieldSeparatorString) notNil.
+ lastIsFieldSeparator := false.
+ inStream peek == aTextSeparatorChar ifTrue:[
+ inStream next.
+ element := ''.
+ scanningWord := true.
+ [ scanningWord and:[inStream atEnd not] ] whileTrue:[
+ element := element , (inStream upTo:aTextSeparatorChar).
+ (inStream peek == aTextSeparatorChar) ifTrue:[
+ element := element , aTextSeparatorChar .
+ inStream next.
+ ] ifFalse:[
+ scanningWord := false.
+ ].
+ ].
+ inStream upToAll:aFieldSeparatorString.
+ ] ifFalse:[
+ element := inStream upToAll:aFieldSeparatorString
+ ].
+ items add:element.
+ lastIsFieldSeparator := (inStream skipThroughAll:aFieldSeparatorString) notNil.
].
lastIsFieldSeparator ifTrue:[
- "empty element at the end of the line"
- items add:''.
+ "empty element at the end of the line"
+ items add:''.
].
^ items
"
self assert:(('#First#, #Second,SecondAdd#, #Third#' asCollectionOfSubstringsSeparatedBy:',' textSeparator: $#)
- sameContentsAs:#('First' 'Second,SecondAdd' 'Third')).
+ sameContentsAs:#('First' 'Second,SecondAdd' 'Third')).
self assert:(('#Fir##st#, #Second,SecondAdd#, #Third#' asCollectionOfSubstringsSeparatedBy:',' textSeparator: $#)
- sameContentsAs:#('Fir#st' 'Second,SecondAdd' 'Third')).
+ sameContentsAs:#('Fir#st' 'Second,SecondAdd' 'Third')).
self assert:(('#Fir##st#, Second,SecondAdd, #Third#' asCollectionOfSubstringsSeparatedBy:',' textSeparator: $#)
- sameContentsAs:#('Fir#st' 'Second' 'SecondAdd' 'Third')).
+ sameContentsAs:#('Fir#st' 'Second' 'SecondAdd' 'Third')).
self assert:(('First,Second,Third,,' asCollectionOfSubstringsSeparatedBy:',' textSeparator:nil)
- sameContentsAs:#('First' 'Second' 'Third' '' '')).
+ sameContentsAs:#('First' 'Second' 'Third' '' '')).
self assert:(('First,Second,Third,,' asCollectionOfSubstringsSeparatedBy:',' textSeparator:'#')
- sameContentsAs:#('First' 'Second' 'Third' '' '')).
+ sameContentsAs:#('First' 'Second' 'Third' '' '')).
"
"Modified: / 07-04-2011 / 13:23:19 / cg"
@@ -6418,11 +6418,11 @@
!CharacterArray class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.504 2013-06-19 06:36:14 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.505 2013-06-25 17:41:14 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.504 2013-06-19 06:36:14 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterArray.st,v 1.505 2013-06-25 17:41:14 cg Exp $'
! !