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

[REBOL] Re: Creation of object with unknown structure

From: knizhnik:garret:ru at: 6-Dec-2003 19:06

Hello Christian, Thank you very much! "to-set-word" - is what I have missed. And "prepare" function is exactly what I need. Saturday, December 6, 2003, 6:37:09 PM, you wrote:
>> I am developer of object oriented database for dynamic languages >> (www.garret.ru/~knizhnik/dybase.html) >> Currently it supports PHP, Python and Ruby. Now I am going to develop >> Rebol API for DyBASE.
CL> that's very, very cool!
>> I read Rebol manual but some questions are still not clear for me. >> Can some Rebol guru suggest me the best way of dynamic instantiation >> of object (so that structure of the object is not known at compile >> time)?
CL> fortunately that's rather easy. CL> b: copy [] CL> append b to-set-word "foo" CL> append b "bar" CL> obj: make object! b CL> probe obj CL> make object! [ CL> foo: "bar" CL> ]
>> For example I have block containing field names and values: >> ["x" 1 "y" 2 "z" 3] >> I want to construct object with these fields, so that result will be >> the same as after creating object using "make": >> obj: make object! [x: 1 y: 2 z: 3]
CL> you'll probably prefer to construct objects like shown above, but ... CL> prepare: func [ x ] [ CL> r: make type? x length? x CL> foreach [ k v ] x [ CL> repend r [ to-set-word k v ] CL> ] CL> r CL> ] CL> make object! prepare ["x" 1 "y" 2 "z" 3] CL> best regards, CL> -- chris -- Best regards, Konstantin mailto:[knizhnik--garret--ru]