GnuSmalltalkUsersGuide:BaseChapter 048

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
CString

CString

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: CPtr

범주: 언어-C 인터페이스


엄밀히 말하면 CString은 CChar에 대한 포인터이다. 하지만 스몰토크에서는 구분된 데이터타입이기 때문에 개발자들이 좀 더 설명적인 타입을 이용해 좀 더 정밀하게 구문을 표현하도록 해주므로 별개의 데이터 타입으로 매우 유용하게 사용될 수 있다.
CChar는 char에 대한 포인터인 것처럼 CString은 사실상 C 용어로 보면 문자열에 대한 *포인터*임을 주목하라: C 용어로 하자면 char**이다. char*에서 String을 꺼내야 하는 경우 CChar>>#asString을 사용하라.
보통 나는 문자의 배열과 문자에 대한 포인터 간 cross 처럼 행동한다. 나는 두 가지 데이터 타입에 대한 프로토콜을 제공한다. 나의 #value 메서드는 스칼라 데이터타입에서 예상하듯 Smalltalk String을 리턴한다.


C String 클래스: 접근하기

cObjStoredType

Private - CObject를 #at:put: 에 의해 보관될 스몰토크 객체로 변환하도록 해준다.


CString 클래스: 인스턴스 생성

type

수신자에 대한 CType을 응답하라-예를 들어 수신자가 CByte인 경우 CByteType를 응답하라.

value: anObject

전달된 값, anObject를 포함하는 새로 할당된 CObject를 응답하라. CObject가 자동으로 해제되길 원한다면 #addToBeFinalized를 호출할 것을 명심하라.


CString: 접근하기

cObjStoredType

Private - CObject 를 #at:put: 에 의해 보관될 스몰토크 객체로 변환을 제공한다.

value

수신자가 가리키는 값을 응답하라. 정확한 리턴 값은 수신자의 클래스에 따라 좌우된다.

value: aValue

수신자를 값, aValue에 대한 포인트(point)로 설정하라. aValue의 정확한 의미는 수신자의 클래스에 따라 좌우된다.


Notes