[REBOL] Re: Change/part
From: t-man:onemain at: 24-Feb-2001 1:24
howdy all!
This change/part seems a throwback to snobol/spitbol, where the .rem returned the remainder.
So I would document it as "Changes a
value in a series and returns the remainder. There's a regular expression equivalent
like $' or something. This allows further
changes on into the series without having to re-determine where you are/what's left.
It makes a lot more sense when the series is
large, because you are operating on a smaller and smaller portion of the series every
go around.
I've just started learning rebol, or I'd build a little code chunk that might demonstrate
a likely usage of change/part in this
manner.
T
----- Original Message -----
From: "Ryan Cole" <[ryanc--iesco-dms--com]>
To: <[rebol-list--rebol--com]>
Sent: Friday, February 23, 2001 12:11 PM
Subject: [REBOL] Re: Change/part
I agree that something is wrong here Paul,
For one the docs dont accurately describe what change does. "Changes a value
in a series and returns the series after the change." I would say "Changes a
value in a series and returns the part of the series after the change."
Moving onto to change/part, "Limits the amount to change to a given length or
position," is not entirely accurate since its return value indicates that the
whole of the range was changed. If what it does is not a bug, it would be
somewhat more accurately said "Enforces change limited to a given length or
position."
This all brings to mind a question. Does anyone know the purpose of change
returning the part of the series after the change, as opposed to the whole of
the changed series?
--Ryan
Paul Tretter wrote:
> Maybe, I am using it wrong -
>
> >> help change
> USAGE:
> CHANGE series value /part range /only /dup count
>
> DESCRIPTION:
> Changes a value in a series and returns the series after the change.
> CHANGE is an action value.
>
> ARGUMENTS:
> series -- Series at point to change (Type: series port)
> value -- The new value (Type: any)
>
> REFINEMENTS:
> /part -- Limits the amount to change to a given length or position.
> range -- (Type: number series port)
> /only -- Changes a series as a series.
> /dup -- Duplicates the change a specified number of times.
> count -- (Type: number)
> >> string: "0000000000"
> == "0000000000"
> >> series? string
> == true
> >> change/part string "2" 4
> == "000000"
> >> print head string
> 2000000
> >>
>
> Doesn't give me the result I expected. I index 4 of the string to be "2".
>
> Paul Tretter
>
> ----- Original Message -----
> From: "GS Jones" <[gjones05--mail--orion--org]>
> To: <[rebol-list--rebol--com]>
> Sent: Friday, February 23, 2001 6:03 AM
> Subject: [REBOL] Re: Change/part
>
> > From: Paul Tretter
> > > Anyone have problems with Windows based /View with Change/part?
> >
> > I haven't used it much in my programs to date, but I ran it through some
> > tests to see if it worked as expected. It seemed to work fine in
> > Windows 98 and /View 0.10.38.3.1.
> >
> > For what its worth...
> > --Scott
> >
> > --
> > To unsubscribe from this list, please send an email to
> > [rebol-request--rebol--com] with "unsubscribe" in the
> > subject, without the quotes.
> >
>
> --
> To unsubscribe from this list, please send an email to
> [rebol-request--rebol--com] with "unsubscribe" in the
> subject, without the quotes.
--
Ryan Cole
Programmer Analyst
www.iesco-dms.com
707-468-5400
I am enough of an artist to draw freely upon my imagination.
Imagination is more important than knowledge. Knowledge is
limited. Imagination encircles the world.
-Einstein