#99 Article 1048 Posted at 1995/12/18 09:10:06 by BAA (MAP5104) [SAHOU.1]

Subject: Re:*9 プログラミングお作法の話 /969 .... /941 /940

smalltalk で書いてみました。

しかし、smalltalk は、5 年以上昔にちょっと触ってみただけなので、
変なところだらけかもしれません。

処理系は smalltalk 80 ではなく、Linux の ftp サイトにある、
Claus Gittinger さんの作成された、smalltalk/x という処理系です。

Workspace から Nyan new setLines 15 などを printIt で評価すれ
ば動きます。

----------------------------------------
Object subclass:#Nyan
	 instanceVariableNames:'printString numberOfLines'
	 classVariableNames:''
	 poolDictionaries:''
	 category:'User-Sample'
!

!Nyan methodsFor:'printing'!

printOn: aStream
    ""
    1 to: numberOfLines do: [:n |
        ((n = 3) | (n = 5) | (n = numberOfLines))
            ifTrue: [
                1 to: n do: [:m | printString printOn: aStream ].
            ]
            ifFalse: [n printOn: aStream.].
        aStream cr.
    ]
! !

!Nyan methodsFor:'accessing'!

setString: aString
    ""
    printString := aString.
!

setLines: lines
    ""
    numberOfLines := lines.
! !

!Nyan methodsFor:'initialization'!

initialize
    super initialize.
    self setString: 'meow '.
    self setLines: 10.
! !

!Nyan class methodsFor: 'instance creation'!

new
    ^super new initialize.
! !
----------------------------------------

	BAA