[REBOL] Re: "piping" functions
From: Izkata::Comcast::net at: 23-Nov-2005 22:09
>
> Volker,
>
>>>Hard to understand what you do not understand, i hope i do it:
>>>The focus is here
>>>copy/part B back tail b
>>>not here:
>>>copy/part b BACK TAIL B
>
>>>copy B
>>>return a copy of the series on position b.
>>>copy/part B back tail b
>>>returns a copy of the series on the position b, but not upto end, but
>>>upto
>>>back tail b
>
> ... yes , and what does the last BACK TAIL B evaluates to? an INDEX
> position?
>
> Simply restated, I would like to understand why BACK TAIL B used alone
> like
> here:
>
>>>BACK TAIL B
>
> returns a series
>
> while when used in:
>
>>>copy/part b BACK TAIL B
>
> it returns a number. (I assume it returns a number because this is what
> COPY/PART needs as a second argument)
>
It doesn't return a number -
>> ? copy
USAGE:
COPY value /part range /deep
DESCRIPTION:
Returns a copy of a value.
COPY is an action value.
ARGUMENTS:
value -- Usually a series (Type: series port bitset)
REFINEMENTS:
/part -- Limits to a given length or position.
range -- (Type: number series port pair) <--
/deep -- Also copies series values within the block.
It returns a the same series at a different index. The error
message that copy/part gives isn't completely correct...
count
(below) gives the impression that it needs to be a
number, but it doesn't.
>> copy/part {a b c} {b} ;It looks like this should work...
** Script Error: Invalid /part count: b
** Near: copy/part "a b c" "b"
>> X: "a b c"
== "a b c"
>> copy/part X find X {b} ;But what it wants is part of the same series
== "a "