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.

Reply via email to