* Glenn M. Lewis <[EMAIL PROTECTED]> [051003 09:59]:
>
> Hi all! I'm trying to learn Rebol by actually writing something with it. :-)
Welcome Glen:
> I read the online documentation, and particularly studied the "Classes"
> section, but couldn't figure out the distinction between the two, or if
> there is a concept of static methods or static data at all.
1)As you learn about engineering rebol with context/objects also
have an open mind about using anonymous contexts (or objects) with
the functions that you might write. data members of anonymous
contexts are visible only to the function and provide a great
degree of encapsulation. *and* they are persistant/static as far
as the function is concerned.
2)You will find it easy to 'prototype' objects. Take a look at
http://www.rebol.com/docs/core23/rebolcore-10.html#section-3
think about defining objects in terms of an object prototype that
you can re-engineer as your knowledge of rebol grows. As an
example, let us say that you built into an object prototype, a
member called 'usage, you call that object 'prototype and you
derive an object as say:
new-obj: make prototype [ ......] then 'usage is automagically
part of 'new-obj and can be overloaded. If you follow that method
you can build your own 'special' methods. Thusly, you can modify
and extend the functionality of your rebol objects from
the prototype. And of course, if you are coming from smalltalk
I'm preaching to the converted.
3)following the example above, then rebol functions like 'help
and '?? can made more useful for your 'prototyped' objects.
NOTE that 'help and '?? are rebol mezzanine functions are
can be modified, overloaded or used as templates since
their source code is available as in
>> source help ;; and
>> source ?? ;;
Rebol does not have the object - oriented facility of say, python,
but it is so flexible that you can assimilate that facility with
a little work and a lot of reward can follow.
tim
--
Tim Johnson <[EMAIL PROTECTED]>
http://www.alaska-internet-solutions.com
--
To unsubscribe from the list, just send an email to
lists at rebol.com with unsubscribe as the subject.