GnuSmalltalkUsersGuide:BaseChapter 197
- UndefinedObject
UndefinedObject
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Object
범주: 언어-구현
- 나는 "nil" 객체를 유일한 인스턴스로 가진 클래스라는, 미심쩍은 탁월함을 갖고 있다.
UndefinedObject: 기본
copy
수신자를 응답하라.
deepCopy
수신자를 응답하라.
shallowCopy
수신자를 응답하라.
UndefinedObject: 클래스 생성- 대안
subclass: classNameString classInstanceVariableNames: stringClassInstVarNames instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames
IBM Smalltalk로부터 file in을 위해서만 존재하므로 사용하지 말라.
subclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames
IBM Smalltalk로부터 file in을 위해서만 존재하므로 사용하지 말라.
variableByteSubclass: classNameString classInstanceVariableNames: stringClassInstVarNames instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames
IBM Smalltalk로부터 file in을 위해서만 존재하므로 사용하지 말라.
variableByteSubclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames
IBM Smalltalk로부터 file in을 위해서만 존재하므로 사용하지 말라.
variableLongSubclass: classNameString classInstanceVariableNames: stringClassInstVarNames instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames
IBM Smalltalk로부터 file in을 위해서만 존재하므로 사용하지 말라.
variableLongSubclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames
IBM Smalltalk로부터 file in을 위해서만 존재하므로 사용하지 말라.
variableSubclass: classNameString classInstanceVariableNames: stringClassInstVarNames instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames
IBM Smalltalk로부터 file in을 위해서만 존재하므로 사용하지 말라.
variableSubclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames
IBM Smalltalk로부터 file in을 위해서만 존재하므로 사용하지 말라.
UndefinedObject: 클래스 다형성
allSubclasses
시스템 내의 모든 클래스를 리턴하라.
instSize
'0'을 응답하라.
metaclassFor: classNameString
주어진 클래스명에 대한 Metaclass 객체를 생성하라. 메타클래스는 Class의 서브클래스이다.
methodDictionary
'nil'을 응답하라.
removeSubclass: aClass
무시됨 - 서로소(disjoint) 클래스 계층구조를 지원하는 데 필요함.
subclass: classNameString
주어진 이름으로 된 수신자의 서브클래스를 정의하라. 클래스가 이미 정의된 경우 그 인스턴스 또는 클래스 변수를 수정하는 대신 필요 시 필요한 모든 것을 재컴파일하라.
subclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames category: categoryNameString
주어진 이름, 인스턴스 변수, 클래스 변수, pool dictionary, 범주로 된 수신자의 서브클래스를 정의하라. 클래스가 이미 정의된 경우 필요 시 필요한 모든 것을 재컴파일하라.
#short
variable: shape subclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames category: categoryNameString
주어진 이름, 모양, 인스턴스 변수, 클래스 변수, pool dictionary, 범주로 된 수신자의 가변적 서브클래스(variable subclass)를 정의하라. 클래스가 이미 정의된 경우 필요 시 필요한 모든 것을 재컴파일하라. 모양은 #byte #int8 #character #short #ushort #int #uint #int64 #uint64 #utf32 #float #double #pointer 중 하나가 가능하다.
variableByteSubclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames category: categoryNameString
주어진 이름, 인스턴스 변수, 클래스 변수, pool dictionary, 범주로 된 수신자의 바이트 가변적 서브클래스를 정의하라. 클래스가 이미 정의된 경우 필요 시 필요한 모든 것을 재컴파일하라.
variableSubclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames category: categoryNameString
주어진 이름, 인스턴스 변수, 클래스 변수, pool dictionary, 범주로 된 수신자의 가변적 포인터 서브클래스를 정의하라. 클래스가 이미 정의된 경우 필요 시 필요한 모든 것을 재컴파일하라.
variableWordSubclass: classNameString instanceVariableNames: stringInstVarNames classVariableNames: stringOfClassVarNames poolDictionaries: stringOfPoolNames category: categoryNameString
주어진 이름, 인스턴스 변수, 클래스 변수, pool dictionary, 범주로 된 수신자의 워드 가변적 서브클래스를 정의하라. 클래스가 이미 정의된 경우 필요 시 필요한 모든 것을 재컴파일하라.
UndefinedObject: CObject interoperability
free
아무 일도 하지 않는다. NULL 포인터는 안전하게 해제(freed)될 수 있다.
narrow
수신자를 리턴하라: NULL 포인터는 그 타입이 무엇이든 항상 nil이다.
UndefinedObject: 종속자 접근
addDependent: ignored
실패하라. Nil은 종속자를 지원하지 않는다.
release
해당 호출을 무시하라. Nil은 종속자를 지원하지 않는다.
UndefinedObject: 인쇄하기
printOn: aStream
수신자의 표현을 aStream 상에 인쇄하라.
printOn: aStream in: aNamespace
aNamespace로부터 접근하듯이 수신자의 표현을 aStream 상에 인쇄하라: nil은 어디서든 같기 때문에 #printOn: 과 같이 인쇄하라.
UndefinedObject: 아직 분류되지 않음
UndefinedObject: 보관하기
isLiteralObject
수신자를 스몰토크 리터럴로 표현 가능한지 응답하라.
storeLiteralOn: aStream
수신자로 컴파일하는 일부 스몰토크 코드를 aStream 상에 보관하라.
storeOn: aStream
수신자로 컴파일하는 스몰토크 코드를 aStream 상에 보관하라..
UndefinedObject: 검사하기
ifNil: nilBlock
수신자가 nil인 경우 nilBlock을 평가하고, 그 외의 경우 nil을 응답하라.
====ifNil: nilBlock ifNotNil: notNilBlock
수신자가 nil인 경우 nilBlock을 평가하고, 그 외의 경우 notNilBlock을 평가하여 수신자를 전달하라.
ifNotNil: notNilBlock
수신자가 nil인 경우 notNilBlock을 평가하고 수신자를 전달하라. 그 외의 경우 nil을 응답하라.
ifNotNil: notNilBlock ifNil: nilBlock
수신자가 nil인 경우 nilBlock을 평가하고, 그 외의 경우 notNilBlock을 평가하여 수신자를 전달하라.
isNil
수신자가 정의되지 않은 객체 nil인지 여부를 응답하라. 항상 true를 응답하라.
isNull
수신자가 NULL C 포인터를 나타내는지 여부를 응답하라. 항상 true를 응답하라.
notNil
수신자가 정의되지 않은 객체 nil이 아닌지를 응답하라. 항상 false를 응답하라.