--- a/String.st Sun May 12 15:23:46 1996 +0200
+++ b/String.st Sun May 12 16:02:33 1996 +0200
@@ -1844,90 +1844,6 @@
^ self copyFrom:startIndex to:endIndex
! !
-!String methodsFor:'pattern matching'!
-
-endsWith:aString
- "return true, if the receiver end with something, aString."
-
-%{ /* NOCONTEXT */
-
- int len1, len2;
- REGISTER unsigned char *src1, *src2;
- char c;
-
- if ((__isString(self) || __isSymbol(self))
- && (__isString(aString) || __isSymbol(aString))) {
- len1 = __qSize(self);
- len2 = __qSize(aString);
- if (len1 < len2) {
- RETURN ( false );
- }
-
- src1 = __stringVal(self) + len1 - len2;
- src2 = __stringVal(aString);
- while (c = *src2++) {
- if (c != *src1++) {
- RETURN ( false );
- }
- }
- RETURN (true);
- }
-%}.
- (aString isMemberOf:Character) ifTrue:[
- self size == 0 ifTrue:[^ false].
- ^ (self at:(self size)) == aString
- ].
- ^ super endsWith:aString
-
- "
- 'hello world' endsWith:'world'
- 'hello world' endsWith:'earth'
- 'hello world' endsWith:$d
- 'hello world' endsWith:#($r $l $d)
- "
-!
-
-startsWith:aString
- "return true, if the receiver starts with something, aString."
-
-%{ /* NOCONTEXT */
-
- int len1, len2;
- REGISTER unsigned char *src1, *src2;
- char c;
-
- if ((__isString(self) || __isSymbol(self))
- && (__isString(aString) || __isSymbol(aString))) {
- len1 = __qSize(self);
- len2 = __qSize(aString);
- if (len1 < len2) {
- RETURN ( false );
- }
-
- src1 = __stringVal(self);
- src2 = __stringVal(aString);
- while (c = *src2++) {
- if (c != *src1++) {
- RETURN ( false );
- }
- }
- RETURN (true);
- }
-%}.
- (aString isMemberOf:Character) ifTrue:[
- self size == 0 ifTrue:[^ false].
- ^ (self at:1) == aString
- ].
- ^ super startsWith:aString
-
- "
- 'hello world' startsWith:'hello'
- 'hello world' startsWith:'hi'
- 'hello world' startsWith:$h
- 'hello world' startsWith:#($h $e $l)
- "
-! !
-
!String methodsFor:'printing & storing'!
isLiteral
@@ -2076,6 +1992,47 @@
!String methodsFor:'testing'!
+endsWith:aString
+ "return true, if the receiver end with something, aString."
+
+%{ /* NOCONTEXT */
+
+ int len1, len2;
+ REGISTER unsigned char *src1, *src2;
+ char c;
+
+ if ((__isString(self) || __isSymbol(self))
+ && (__isString(aString) || __isSymbol(aString))) {
+ len1 = __qSize(self);
+ len2 = __qSize(aString);
+ if (len1 < len2) {
+ RETURN ( false );
+ }
+
+ src1 = __stringVal(self) + len1 - len2;
+ src2 = __stringVal(aString);
+ while (c = *src2++) {
+ if (c != *src1++) {
+ RETURN ( false );
+ }
+ }
+ RETURN (true);
+ }
+%}.
+ (aString isMemberOf:Character) ifTrue:[
+ self size == 0 ifTrue:[^ false].
+ ^ (self at:(self size)) == aString
+ ].
+ ^ super endsWith:aString
+
+ "
+ 'hello world' endsWith:'world'
+ 'hello world' endsWith:'earth'
+ 'hello world' endsWith:$d
+ 'hello world' endsWith:#($r $l $d)
+ "
+!
+
isBlank
"return true, if the receivers size is 0 or if it contains only spaces.
Q: should we care for whiteSpace in general here ?"
@@ -2204,10 +2161,51 @@
'ocmputer' levenshteinTo:'computer'
'cmputer' levenshteinTo:'computer'
'Computer' levenshteinTo:'computer'"
+!
+
+startsWith:aString
+ "return true, if the receiver starts with something, aString."
+
+%{ /* NOCONTEXT */
+
+ int len1, len2;
+ REGISTER unsigned char *src1, *src2;
+ char c;
+
+ if ((__isString(self) || __isSymbol(self))
+ && (__isString(aString) || __isSymbol(aString))) {
+ len1 = __qSize(self);
+ len2 = __qSize(aString);
+ if (len1 < len2) {
+ RETURN ( false );
+ }
+
+ src1 = __stringVal(self);
+ src2 = __stringVal(aString);
+ while (c = *src2++) {
+ if (c != *src1++) {
+ RETURN ( false );
+ }
+ }
+ RETURN (true);
+ }
+%}.
+ (aString isMemberOf:Character) ifTrue:[
+ self size == 0 ifTrue:[^ false].
+ ^ (self at:1) == aString
+ ].
+ ^ super startsWith:aString
+
+ "
+ 'hello world' startsWith:'hello'
+ 'hello world' startsWith:'hi'
+ 'hello world' startsWith:$h
+ 'hello world' startsWith:#($h $e $l)
+ "
! !
!String class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.78 1996-05-10 12:11:33 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.79 1996-05-12 14:02:33 cg Exp $'
! !