[Newbies] >> notation Hi Dave,
Your being great.
I'm learning a lot from following this thread. Thanks for raising the questions persistantly.
(Did this using a fresh 3.9 7067)
In a workspace try evaluating (with doit or print it)
Object>>#doesNotUnderstand:) inspect . an inspector will pop up. Select all bytecodes and see what a squeak method is made of.
To make things in squeak using a browser first get a browser In the work space type Object select t and type cmd-b (I'm on a mac translate what I say for your platform) a system window labeled 'System Browser: Object'. In the second column Object is highlighted. Position the mouse over it and Option-click. ( a menu pops up) select 'more...' and then subclasstemplate. In the big text pane at the bottom you will see:: Object subclass: #NameOfSubclass instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Kernel-Objects'
modify this to: Object subclass: #MyClass instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'DavesStuff'
Mouse over what you have written and option-click to get the menu from the menu select 'accept it'
You have now defined a class myclass. In the third column select --all--
Now the big text pane at the bottom says:
message selector and argument names "comment stating purpose of message"
| temporary variable names | statements
modify that to:
doThis "heres what to do" array := Array new: 3. array at: 1 put: 2.
and accept it (see above)
first a box comes up asking for your initials type them in and click accept. second a menu comes up asing about what to do with array. select 'declare temp'
you have now defined the method MyClass>>doThis.
Going back to the workspace type
myInstance := MyClass new .
myInstance doThis
select both lines and option-click from the menu select 'print it'
you will see the result highlighted it will say a MyClass.
thats because the instance as written does not explicitly return a value. so it is returning the receiver. the receiver is the instance of MyClass which we stored in myInstance.
go back to the browser add to the end of the method the line
^array
go back to the workspace and do the 'print it' again for the same text selection and the result is: #(2 nil nil)
Which show what doThis did.
in the workspace again type: (MyClass>>#doThis) inspect
select and print it. and you will get the inspector window on the complied version of your method.
go back to the browser mouse over the highlighted item in each column from the option-click menu select 'fileout' for each column. And look at your image's home directory to see what you get.
Yours in service, -- Jerome Peace
Another Dave dooright101 at yahoo.com Thu Nov 30 05:32:12 UTC 2006 wrote:
(nil asTraitComposition) print it returns a
MessageNotUnderstood dialog.
(Object>>#doesNotUnderstand:) print it returns a
System Window(3891), and a
CompiledMethod dialog.
I'm probably being too literal, or too dense?
____________________________________________________________________________________ Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com
beginners@lists.squeakfoundation.org