I have probably answered my own question: I'm still a newbie, but am pleased to return results -> ; == consider the following code: the two objects work ; independently. They use the same named methods ; op, prn, and close ; When I named those methods open, print,and close, ; I got stack overflows, which suggests to me ; that rebol doesn't like me overridding their ; own system functions. ; I'm happy with the result. Less typing eh! REBOL [ Title: "object" Date: 011-Apr-2000 File: %object.r Purpose: {testing rebol objects} ] ;=== make first object object-one: make object! [ op: func [] [fp: open/new/write %objone.txt] prn: func [value] [append fp value] cls: func[] [close fp] ] ;=== make first object object-two: make object! [ op: func [] [fp: open/new/write %objtwo.txt] prn: func [value] [append fp value] cls: func[] [close fp] ] ;=== test first object object-one/op object-one/prn "testing object-one once more" object-one/cls ;=== test second object object-two/op object-two/prn "testing object-two once more" object-two/cls At 05:10 PM 4/11/00 -0800, you wrote: >Hi Michael - >At 12:42 PM 4/11/00 -0700, you wrote: >>I'm currently defining a 'print element of an object as a function. I'm >>assuming that the REBOL definition of 'print will be hidden in the >>definition of this object (and definitions of functions local to the >object) >Actually ..... >print would write to a port, which could be standard >output OR a physical file. The port would be defined >as a member of the object as well. > >let's call this content-object ; will build virtual >; pages OR could be used to build a physical web page >; let me know what you think of the following: >; thanks for your interest :>) >; tim >content-object: make object! >[ > write_to_file: func [] > [ > ; is this being run from a server? > either equal? system/options/cgi/server-name none > [return true] > [{else}return false] > ] > init_output: func[fname[string!] /local fpl] > [ > either write_to_file ; no server so open a write port > ; to fname > [ > file_name: make file! fname > fp1: open/new/write file_name > ] > ; yup, we're on the server so keep writing to stdout > [{else} fp: system/ports/output] > return fpl > ] > ; what the hay!! We can call this anything, but > ; print would be great if it didn't screw up implicit > ; output to stdout for the "original print" > fp: init_output "hello.htm" > print: func [fp[port!] value] > [append fp value] >] >; If this process works with out conflict, then I would >; create a debug object which would write to a file that >; would be created every time the application runs >; and an errorlog object that would be appended every >; time the application ran, given an error or warning >; condition appeared. Standard parts of the my C/C++/CGI >; toolkit and expected by sysops that my cgi programs >; run on. They could all have a print element (method) >; OR I could call it something else. >>- which is ok. Outside of the element 'print, the REBOL definition works >>just fine. Following is the relevant piece of my object: >> >>player-def: make object! [ >> name: none >> connection: none >> ; METHODS >> ; - - - - - - - - - - - - - - - - - - - - - - >> print: function [ >> "Print a message to this player, with trailing new-line" >> msg [string! block!] >> ][new-msg][ >> ; Cleanup the message suitable for telnet display >> new-msg: player-format-print msg >> append new-msg new-line >> append connection new-msg >> ] >> ; - - - - - - - - - - - - - - - - - - - - - - >> prin: function [ >> "Print a message to this player" >> msg [string! block!] >> ][new-msg][ >> ; Cleanup the message suitable for telnet display >> new-msg: player-format-print msg >> append connection new-msg >> ] >>] >> >>- Michael Jelinek >> >>-----Original Message----- >>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] >>Sent: Tuesday, April 11, 2000 11:32 AM >>To: [EMAIL PROTECTED] >>Subject: [REBOL] [REBOL] Redefining functions with objects >> >> >>I'm thinking of developing a class. >>Let's call it >> >>tims-object >> >>Suppose I write a function for this >>class and I call it >> >>print >> >>Will >>tims-object/print >>redefine rebol's own print? >> >>I don't really want to do this, so >>I would welcome comments on this. >> >>thanks >>tim >> >> >> > >