[REBOL] Re: func args by ladislav
From: lmecir:mbox:vol:cz at: 15-Oct-2001 22:19
Hi Romano,
> Hi, Ladislav
>
> I have read your beatiful new article about func args. There is at least
one
> thing with which I do not agree: i think that 'do takes only one argument.
That cannot explain the difference between:
args-taken? :- [1 2] ; == 1
and
args-taken? :do reduce [:- 1 2] ; == 3
> Another thing: your function fails in these cases:
>
> >> args-taken? :head reduce [:next [1 2]]
> ** Script Error: none expected series argument of type: series port
> ** Where: args-taken?
> ** Near: test: do/next test
My function doesn't fail. Supplying these arguments to HEAD is the same as
invoking:
head :next [1 2]
** Script Error: head expected series argument of type: series port
** Where: halt-view
** Near: head :next [1 2]
> >> args-taken? :head [next [1 2]]
> ** Script Error: none expected series argument of type: series port
> ** Where: args-taken?
> ** Near: test: do/next test
Here the example is the same as writing:
head 'next [1 2]
** Script Error: head expected series argument of type: series port
** Where: halt-view
** Near: head 'next [1 2]
which is wrong too. If you would like to test something like
head next [1 2]
, you should write:
args-taken? :head reduce [next [1 2]]
> To end:
> http://www.sweb.cz/LMecir/contexts.html gives a broken file
It works OK for me. Does somebody else have the same problem as Romano?
> ---
> Ciao
> Romano
Ciao
Ladislav