1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
" Test for script objects.
Author: Stefan Urbanek
Date: 2003 Aug 6
"
| object method source engine |
Environment includeFramework:'StepTalk'.
" Create a script object and set it's environment "
object := STScriptObject scriptObject.
object setEnvironment:Environment.
" Get the proper engine "
engine := STEngine engineForLanguageWithName:'Smalltalk'.
" This is the source of new method "
source := 'sayHi Transcript showLine: \'Hi.\'. ^self'.
" Create method "
method := engine methodFromSource:source
forReceiver:object
inEnvironment:Environment.
" Add the method to the object "
object addMethod:method.
" Add another method with an argument "
source := 'sayHiTo:someone Transcript showLine: (\'Hi \', someone). ^self'.
method := engine methodFromSource:source
forReceiver:object
inEnvironment:Environment.
object addMethod:method.
" Sent it! "
object sayHi.
object sayHiTo:'GNUstep'.
|