On Sat, 9 Sep 2000 [EMAIL PROTECTED] wrote:

> make-circle: make func [
>     radius
>     /local blah-blah-blah
>     /static num_circles  ;let's say this is how you create static var.
> ] [
>     num_circles: num_circles + 1 ;this may not be correct but you get the
> idea...
>     return make object! [
>         ;object code goes here
>     ]
> ]
> 

You can use this:

make-circle: func [radius /local num_circles] [
        num_circles: [0]
        num_circles/1: num_circles/1 + 1
        return make object! [
                num: num_circles
                rad: radius
        ]
]

>> probe make-circle 99

make object! [
    num: [1]
    rad: 99
]
>> probe make-circle 88

make object! [
    num: [2]
    rad: 88
]


or this:

circle-maker: make object! [
        num-circles: 0
        set 'make-circle func [radius] [
                num-circles: num-circles + 1
                return make object! [
                        num: num-circles
                        rad: radius
                ]
        ]
]

>> circle-maker/num-circles
== 0
>> probe make-circle 5

make object! [
    num: 1
    rad: 5
]
>> probe make-circle 3

make object! [
    num: 2
    rad: 3
]
>> circle-maker/num-circles
== 2

CU,
Frank

Reply via email to