Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Business Object Versioning

From: rotenca:telvia:it at: 5-Apr-2002 14:16

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