SqueakByExample:A.3
A.3 시스템 탐색
FAQ 5
책에서 자주 언급된 브라우저를 볼 수가 없어요. 어떻게된거죠?
Answer
당신은 아마 OmniBrowser 가 기본으로 설치된 이미지를 사용할 수 있을겁니다. 시스템 브라우저창의 상단-왼쪽 코너에 있는 작은 메뉴아이콘을 클릭해서 기본값을 변경할 수 있습니다, "X"와 시스템브라우저 라벨 사이에 타나나는 메뉴에서 "Choose new default browser"를 선택합니다. #Browser 를 선택하면 구형의 기본브라우저를 사용할 수 있습니다. (World ▷ open...▷ system browser 메뉴에서 환경설정의 변경을 적용할 수 있습니다. 하지만 도구플랩의 브라우저 아이콘으로 드래그한다면 아무일도 일어나지 않습니다.)
FAQ 6
어떻게 클래스를 검색하나요?
Answer
CMD-b (browse)를 눌러서 클래스 이름으로 하면되고, 또는 CMD-f 를 눌러서 클래스 브라우저의 카테고리 창에서 할 수 있습니다.
FAQ 7
어떻게하면 super클래스에 대한 모든 전송을 찾기/검색 할 수 있습니까?
Answer
두번째 방법이 훨씬 빠릅니다:
SystemNavigation default browseMethodsWithSourceString: 'super'.
SystemNavigation default browseAllSelect: [:method | method sendsToSuper ].
FAQ 8
어떻게 하면 계층구조에 속한 모든 super클래스에 대한 전송을 탐색할 수 있습니까?
Answer
browseSuperSends := [:aClass | SystemNavigation default
browseMessageList: (aClass withAllSubclasses gather: [ :each |
(each methodDict associations
select: [ :assoc | assoc value sendsToSuper ])
collect: [ :assoc | MethodReference class: each selector: assoc key ] ])
name: 'Supersends of ' , aClass name , ' and its subclasses'].
browseSuperSends value: OrderedCollection.
FAQ 9
어떻게하면 클래스에 의해 새로 도입된 메서드를 찾을 수 있나요?(오버라이드된 메서드는 포함하지 않습니다)
Answer
이 아래에서 True 를 이용해서 의해 도입된 것을 찾는 방법을 알려드립니다:
newMethods := [:aClass| aClass methodDict keys select:
[:aMethod | (aClass superclass canUnderstand: aMethod) not ]].
newMethods value: True ⇒ an IdentitySet(#asBit)
FAQ 10
어떻게 (구현)하면 어떤 클래스의 메서드는 추상적이라고 말할 수 있나요?
Answer abstractMethods := [:aClass | aClass methodDict keys select: [:aMethod | (aClass>>aMethod) isAbstract ]]. abstractMethods value: Collection −→ an IdentitySet(#remove:ifAbsent: #add: #do:)
FAQ 11
나는 AST 표현식의 view 를 어떻게 생성해야 하나요?
Answer
http://squeaksource.com. 에서 AST를 로드한 이후,다음을 실행합니다:
(RBParser parseExpression: '3+4') explore
(Alternatively explore it.)
FAQ 12
시스템 안의 모든 특성Traits 을 찾으려면 어떻게 해야하나요?
Answer
Smalltalk allTraits
FAQ 13
어떻게 하면 클래스에서 사용가능한 특성Traits 찾을 수 있나요?
Answer
Smalltalk allClasses select: [:each | each hasTraitComposition and: [each traitComposition notEmpty ]]