File: sobjtest.st

package info (click to toggle)
steptalk 0.10.0%2Bgit20200629-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,732 kB
  • sloc: objc: 12,182; yacc: 400; makefile: 40; sh: 34; csh: 4; awk: 3; lisp: 3
file content (41 lines) | stat: -rw-r--r-- 1,075 bytes parent folder | download | duplicates (7)
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'.