MOO-cows Mailing List Archive
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....
> >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.
Subject Index |