www.pudn.com > lstalk.zip > OBJECT.ST


Class Object 
[ 
 	== anObject 
		^  
| 
       ~~ x 
                ^ (self == x) not 
| 
 	= x 
		^ (self == x) 
| 
 	~= x 
		^ (self = x) not 
| 
 	asString 
		^ self class printString 
| 
        asSymbol 
                ^ self asString asSymbol 
| 
	class 
		^  
| 
        copy 
                ^ self shallowCopy 
| 
        deepCopy		| size newobj | 
		size <- . 
		(size < 0)  
			ifTrue: [^ self] "if special just copy object" 
			ifFalse: [ newobj <- self class new. 
			(1 to: size) do: [:i | 
				 copy ) > ]. 
				^ newobj ] 
| 
 	do: aBlock			| item | 
		item <- self first. 
		^ [item notNil] whileTrue: 
			[aBlock value: item.  item <- self next] 
| 
	error: aString 
		 
| 
        first 
                ^ self 
| 
        isKindOf: aClass                | objectClass | 
                objectClass <- self class. 
                [objectClass notNil] whileTrue: 
                        [(objectClass == aClass) ifTrue: [^ true]. 
                         objectClass <- objectClass superClass]. 
                ^ false 
| 
        isMemberOf: aClass 
                ^ aClass == self class 
 
| 
        isNil 
                ^ false 
| 
        next 
                ^ nil 
| 
        notNil 
                ^ true 
| 
 	print 
		 
| 
 	printString 
		^ self asString 
 
|       respondsTo: cmd 
                ^ self class respondsTo: cmd 
 
|       shallowCopy		| size newobj | 
		size <- . 
		(size < 0)  
			ifTrue: [^ self] "if special just copy object" 
			ifFalse: [ newobj <- self class new. 
				(1 to: size) do: [:i | 
					 > ]. 
					^ newobj ] 
]