Howdy, Michael: 

  The following approach is exactly elegant, but it gets the
  job done and it's fairly short.  I think it's kind of cute. 

  -jeff

REBOL []

deduction: func [
    /use-month month-to-use 
    /use-day day-to-use
][
    rejoin [ "file-"
         either use-month [ month-to-use ] [ now/month ]
         either use-day   [ day-to-use ]   [ now/day  ]
    ]
]

main: func [
    /use-month month-to-use
    /use-day day-to-use
] [
    go?: func ['what /it][either it: get what [either true = it [what][it]][]]
    do reduce compose/deep [to-path [deduction (go? use-month) (go? use-day)] 
                    (go? month-to-use) (go? day-to-use)]
]


> This seems   to be  an  occasionally reoccurring  topic. In
> short  I don't   think anyone  has come  up   with a simple
> elegant way of  doing this. A few  of us have come up  with
> solutions  which    involve  building  the  helper-function
> call/refinements string. You might  find, however, that you
> would rather use a bunch of 'if statements.
> 
> - Michael Jelinek
> 
> 
> 
> 
> 
> [EMAIL PROTECTED]@MailAndNews.com>  on  09/15/2000
> 03:30:03 PM
> 
> From:    [EMAIL PROTECTED]@MailAndNews.com      on
> 09/15/2000 03:30 PM
> 
> Please respond to [EMAIL PROTECTED]
> 
> Sent by: Terrence Brannon <[EMAIL PROTECTED]>
> 
> To: [EMAIL PROTECTED]  cc:   Subject: [REBOL]  best  means  of
> passing refinements from main to helper
>        function?
> 
> 
> I  want  to know the     best way to  propagate  refinement
> selections (or  their lack)  to  a function  which actually
> does the processing for them.

Reply via email to