'From Squeak3.2alpha of 3 October 2001 [latest update: #4411] on 3 October 2001 at 12:38:22 pm'! !String class methodsFor: 'primitives' stamp: 'sac 10/1/2001 17:05'! indexOfAscii: anInteger inString: aString startingAt: start endingAt: end | | self var: #aCharacter declareC: 'int anInteger'. self var: #aString declareC: 'unsigned char *aString'. start to: end do: [:pos | (aString at: pos) asciiValue = anInteger ifTrue: [^ pos]]. ^ 0! ! !String methodsFor: 'accessing' stamp: 'sac 10/1/2001 17:03'! indexOf: aCharacter aCharacter class == Character ifFalse: [^ 0]. ^ String indexOfAscii: aCharacter asciiValue inString: self startingAt: 1 endingAt: self size.! ! !String methodsFor: 'accessing' stamp: 'sac 10/3/2001 11:52'! indexOf: aCharacter startingAt: start ^self indexOf: aCharacter startingAt: start endingAt: self size! ! !String methodsFor: 'accessing' stamp: 'sac 9/24/2001 05:31'! indexOf: aCharacter startingAt: start endingAt: end aCharacter class == Character ifFalse: [^ 0]. ^ String indexOfAscii: aCharacter asciiValue inString: self startingAt: start endingAt: (end min: self size)! ! !String methodsFor: 'accessing' stamp: 'sac 10/1/2001 17:04'! indexOf: aCharacter startingAt: start ifAbsent: aBlock | ans | aCharacter class == Character ifFalse: [^ aBlock value]. ans _ String indexOfAscii: aCharacter asciiValue inString: self startingAt: start endingAt: self size. ans = 0 ifTrue: [^ aBlock value] ifFalse: [^ ans]! ! String class removeSelector: #indexOfAscii:inString:startingAt:!