Hi, Gregg
That helps. I received a lot of useful explanation, and I am going to be
soon a 'bind expert ;-)
Patrick
----- Original Message -----
From: "Gregg Irwin" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, November 25, 2001 11:04 PM
Subject: [REBOL] Re: what to do with bind ?
> Hi Patrick,
>
> << But I wonder if 'bind is only useful for those who explore the guts of
> Rebol. I'm looking for an example that enlighten the use of bind in a
simple
> way. >>
>
> I hope I won't confuse matters, being a relative beginner myself, but
here's
> how I recently used bind.
>
> I created a basic AWK dialect and implemented it as an object. AWK
provides
> certain built-in variables that allow you to reference the current line,
> fields in that line, the number of records read, etc. and they are
designed
> to have a very concise syntax (e.g. $1 = field 1 in the current line, $0
is
> the current line in its entirety).
>
> Since the goal is to write AWK "programs" outside the context of my
object,
> I needed a way to reference the built-in variables and I wanted to avoid
the
> requirement of fully qualifying every reference with the context name.
> That's what 'bind allowed me to do. Here's the basic idea:
>
> rawk: context [
> _: none ; current parsed line/record
>
> exec: func [
> {Execute the RAWK 'program' contained in the prog block for each
> file
> contained in the files block.}
> program [block!]
> files [block!]
> ][
> bind program 'self
> ; EXECUTE PROGRAM HERE
> ]
> ]
>
> ; If bind isn't used, we have to do this:
> rawk-prog: [
> [rawk/_/1 = "lng"] [print ["found line with _/1 = lng:" rawk/_]]
> ]
>
> ; If bind is used, we can do this:
> rawk-prog: [
> [_/1 = "lng"] [print ["found line with _/1 = lng:" _]]
> ]
>
> HTH!
>
> --Gregg
>
>
> --
> To unsubscribe from this list, please send an email to
> [EMAIL PROTECTED] with "unsubscribe" in the
> subject, without the quotes.
>
______________________________________________________________________________
ifrance.com, l'email gratuit le plus complet de l'Internet !
vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
http://www.ifrance.com/_reloc/email.emailif
--
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the
subject, without the quotes.