Hello Hayatou, Welcome to Pharo !
On 10 Feb 2013, at 19:48, Hayatou Oumarou <[email protected]> wrote: > Hello all, > I am Hayatou from Cameroon and I was a beginner with smalltalk. I want to > implement a " SmalltalkDoc " which takes a class in entry and generate a > HTML file. > For a beginning I wrote a method smalltalkDoc in the class "Class" here the > contents: > ------------------------------------------------------------------------------------------- > smalltalkDoc > "Genere un fichier HTML avec des Information sur une classe" > |stream nom| > nom:=self asString,'SmalltalkDoc.html'. > stream := FileStream forceNewFileNamed: nom. > stream > nextPutAll: '<html> <head> <title>A little Smalltalk Doc</title> </head> > <body> '; > nextPutAll: '</p>'; > nextPutAll: 'class name : '; > nextPutAll: self name asString; > nextPutAll: '</p>'; > nextPutAll: '<p></p>'; > nextPutAll: 'superclass name : '; > nextPutAll: self superclass name asString; > nextPutAll: '<p></p>'; > nextPutAll: '<p></p>'; > nextPutAll: 'trait Composition : '; > nextPutAll: self traitCompositionString asString; > nextPutAll: '<p></p>'; > nextPutAll: '<p></p>'; > nextPutAll: 'class trait Composition : '; > nextPutAll: self class traitCompositionString asString; > nextPutAll: '</p>'; > nextPutAll: '<p>'; > nextPutAll: 'category : ' ; > nextPutAll: self category asString; > nextPutAll: '</p>'; > nextPutAll: '<p>'; > nextPutAll: 'instances Variable Names : '; > nextPutAll: self instVarNames asString; > nextPutAll: '</p>'; > nextPutAll: '<p>'; > nextPutAll: 'pool Dictionary Names : '; > nextPutAll: self poolDictionaryNames asString; > nextPutAll: '</p>'; > nextPutAll: '<p>'; > nextPutAll: 'class instances Variable Names : '; > nextPutAll: self class instVarNames asString; > nextPutAll: '</p>'; > nextPutAll: '<p>'; > nextPutAll: 'type of class : '; > nextPutAll: self typeOfClass asString; > nextPutAll: '</p>'; > nextPutAll: '<p>'; > nextPutAll: 'class Comment : '; > nextPutAll: self organization classComment asString asString; > nextPutAll: '</p>'; > nextPutAll: '<p>'; > nextPutAll: 'comment Stamp : ' ; > nextPutAll: self organization commentStamp asString; > nextPutAll: '</p>'; > nextPutAll: '<p>'; > nextPutAll: 'class Variables Names : '; > nextPutAll: self classVarNames asString ; > nextPutAll: '</p>'; > nextPutAll: '</body> </html>'. > stream close. > ------------------------------------------------------------------ > what can I do to have a list of the methods of a class? > I am looking for your suggestions. > best regards. > > ------------------------------------ > Hayatou Classes know about the methods they implement. You can try: String class methodsDo: [ :each | Transcript crShow: each ]. String class selectors. A compiled method as in the first case can be queried further. This is a broad subject and there are many aspects to it. HTH, Sven -- Sven Van Caekenberghe http://stfx.eu Smalltalk is the Red Pill
