Hi Robert
> What needs to be done to update an object? Well, there are only four things:
>
> 1. Add a new variable and value to an object
> 2. Rename a variable in an object
> 3. Delete a variable from an object
> 4. Set a different value for an existing variable in an object
>
> I really would like to have object manipulation functions for 1, 2 and 3.
Where
> 1 can be solved by short function;-).
>
> Does anybody has a good idea how to do 2. and 3.?

A rename func:
rename-ob: func [o name1 name2][context head change find third o to-set-word
name1 to-set-word name2]

>> o: context [a: 1 b: 2]
>> probe rename-ob o 'a 'c

make object! [
    c: 1
    b: 2
]

but there are many many situations in which it fails:

 o: context [a: 1 b: [a: 3]]
 o: context [a: 1 b: func [] [a: 3]]

 rename-ob o 'a 'c

change the first a: but not the second one.

The same for delete:

delete-ob: func [o name][context head remove/part find third o to-set-word
name 2]

---
Ciao
Romano



-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to