에서 스택의 인쇄 방법을 만들기 나는 클래스 'AStack'라고 한는 스몰 토크
Object subclass: #AStack
instanceVariableNames: 'elements'
...
는 그것은 '요소 객체'가
initialize
super initialize.
elements := OrderedCollection new
그것은 멤버 클래스를 밀어 것입니다 유지하는 OrderedCollection 개체 포함 팝업 : 각각
push: anObject
self elements addFirst: anObject
pop
^self elements removeFirst
timesRepeat를 사용하여 인쇄하는 인쇄 방법을 쓰려고합니다. 스택의 ontents와 동시에 비 웁니다. 'element'(print^self name)에 대해 자식 클래스 print 메소드를 호출하고 'Transcript'를 사용하여 화면에 출력합니다.
print
self size timesRepeat: [ Transcript show: elements print. self pop ]
작업 영역 코드 :
| o1 o2 stk |
o1 := Object new.
o1 name: 'object1'.
o2 := Object new.
o2 name: 'object2'.
stk := AStack new.
stk push: o1.
stk push: o2.
stk print.
내가 MessageNotUnderstood 말한다 Pharo 내 오류가 위의 코드를 실행하면 : AStack >> 요소합니다.
더 많은 코드가 필요한 경우 언제든지 문의하십시오. #push:
가 self elements
를 사용하고 아마 당신이 AStack에 #elements
방법을 가지고 있지 않는 한
다음과 같습니다 "인쇄 자체의 크기 timesRepeat : [성적 증명서 쇼 : 자동 팝업 인쇄]" 로 충분? – BDillan