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

[REBOL] TECHNICAL ESSAY/CHALLENGE(s) - "Expression Based"? Re:(5)

From: g:santilli:tiscalinet:it at: 4-Oct-2000 16:02

[joel--neely--fedex--com] wrote:
> To sum up thus far, it appears that handling these three cases > > 1) same object, same method, computed argument(s) > 2) same object, computed method, same argument(s) > 3) computed object, same method, same argument(s) > > involves the use of three (radically!) different techniques. I'm > very grateful for the responses thus far. I would be even happier > if we could come up with a single general approach that would > handle all three of these cases.
This is the best I can think of:
>> do-meth: func [obj [object!] meth [word! path! block!] args [block!]] [
[ do compose [(to-path compose [obj (to-block :meth)]) (args)] [ ]
>> do-meth obj 'f [1]
1 none none
>> do-meth obj 'f/ref [1 2]
1 true 2
>> do-meth obj compose [f (pick [ref []] random 2)] [1 2]
1 true 2
>> do-meth obj compose [f (pick [ref []] random 2)] [1 2]
1 none none == 2
>> do-meth obj compose [f (pick [ref []] random 2)] [1 2]
1 none none == 2
>> do-meth obj compose [f (pick [ref []] random 2)] [1 2]
1 none none == 2
>> do-meth obj compose [f (pick [ref []] random 2)] [1 2]
1 true 2 Regards, Gabriele. -- Gabriele Santilli <[giesse--writeme--com]> - Amigan - REBOL programmer Amiga Group Italia sez. L'Aquila -- http://www.amyresource.it/AGI/