MOO-cows Mailing List Archive

[Prev][Next][Index][Thread]

Re: Verb access problem in new server...



> >How about using the number as an index to verbs(me) might have to add one
> >to bring it into alignment. but it should be a simple reference, as long
> >as they haven't sorted the verb list....
> >> 
> >sortof
> >
> >me:(verbs(me)[x+1])() ?
> >
> 
> What if there are several verbs named "foo"?  This is not a good
> solution.  I say the fact that object:(verbno)(args) doesn't work is
> simply a bug.

I can think of another problem with the (verbs(me)[x])()... what if there 
are multiple names for the verb, and/or it has a star in it?  This line 
could get a little more complicated.

I propose a call_verb(object, verb [,ignore_perms)() function.  'verb' 
may be of type string or num, and if it's a num, it calls specifically 
the verb with that index.  If the verb is -x, it'll raise E_INVARG.  If a 
verbname is given that doesn't exist or an index to a verb that doesn't 
exist, E_VERBNF. The ignore_perms option would make it possible for 
wizzen to call a -x verb, using its index.  (returns E_INVARG for anyone 
else).  If an index is given, it shouldn't use inheritence... if a verb 
with that index doesn't exist on that object, return E_VERBNF.  Maybe to 
be consistent it should ignore inheritence for string verb names, or not 
allow string verb names at all.

The object:(NUM index)() would have a lot of problems, like in verb 
inheritence.. if the index verb doesn't exist, does it go to its parent 
looking for a verb with that index?  I don't think it should.  Then, 
object:(verb)() would have entirely different behaviors for verbnames and 
indexes, which may be a bad thing for such a central MOO-code structure.

Just my $0.02.

Phantom


References:

Home | Subject Index | Thread Index