|
Pages: [1]
|
 |
|
Author
|
Topic: block-to-object and reverse function (Read 716 times)
|
|
Philippe
|
Hello, I search a way to "objectify" a block like : blk: [ a none [b [ c 3 d [ e 5] ] ] ] in : obj-blk: make object! [ a: none b: make object! [ c: 3 d: make object! [ e: 5] ] ] ] with any embedded blocks transformed in an embedded object. And the reverse function : blockify object (with any embedded objects or defs) in a block of embedded blocks. any idea ?  thx, ===Philippe
|
|
|
|
|
Logged
|
===Philippe
|
|
|
|
Gabriele
|
; modifies the passed block, use COPY/DEEP on it before ; passing it if you don't want it to be modified block2obj: func [block] [ parse block [ some [ block: word! skip ( block/1: to set-word! block/1 if block? block/2 [block/2: block2obj block/2] ) | skip (make error! rejoin ["Expected word!, not " type? block/1 ": " mold/only copy/part block 3]) ] ] construct head block ]
obj2block: func [object] [ object: third object forskip object 2 [ object/1: to word! object/1 if object? object/2 [ object/2: obj2block object/2 ] ] object ]
HTH.
|
|
|
|
|
Logged
|
|
|
|
|
Philippe
|
Thanks Gabriele, I will try it. Where do you find some time to work to R3 alpha, make answsers here and discussions on altme ??  Thx, Philippe (first lunch Devcon2007, with Dockimbel)
|
|
|
|
|
Logged
|
===Philippe
|
|
|
|
|
Pages: [1]
|
|
|
 |