--- Logan Capaldo said:
On Sep 11, 2005, at 6:46 PM, Alex Fenton wrote:
=20
=20
Have you considered creating a subclass from IO and defining
the =20
necessary methods?
A module defining all other methods based on just would also
work. Then just include it.
I used both approaches for my Cursor classes (superset of IO
functionality but a different API). You would include one
module if your class defined just insert/delete (either
direction), another if it defined those plus read/write an
element (either direction), and another if you defined only
forward operations plus a skip back one element. The project
is here:
http://rubyforge.org/projects/cursor/
I guess I could add another module to include if you want to
make a cursor look like an IO. I didn't want that to be the
default because putting all this in Cursor would add a lot of
clutter as it already emulates much of the Array/String API.=20
Also the method naming in IO didn't seem appropriate for Cursor
which can handle more than just strings/characters and
symmetrically goes in both directions.
=09
__________________________________=20
Yahoo! Mail - PC Magazine Editors' Choice 2005=20
http://mail.yahoo.com