.\"call a function in another object .DT call_other $MUDNAME$ driver help call_other .SH Name .SI 5 call_other() - call a function in another object .EI .SH Synopsis .SI 5 mixed call_other( mixed ob, string func, ... ); mixed call_other( mixed ob, array args ); mixed call_other( array obs, string func, ... ); mixed call_other( array obs, array args ); .EI .SH Description .SP 5 5 `ob' is either an object pointer, or a string filename (suitable for find_object()). `obs' is an array of object pointers and strings. Using an array as the first argument does a call_other for each element of the array, and returns an array of the results. If the array form is used for `args', then the first element is the function name, and the remainder are the arguments; e.g.: call_other(ob, ({ "foo", 1, 3, 5 })) and call_other(ob, "foo", 1, 3, 5) are equivalent. The function foo() is called in the object ob with the arguments (1, 3, 5). The return value of call_other() is the value returned from the foo() function. In the case of an array of objects, the return value of call_other() is an array of the return values. There is a much more attractive way to do call_others; call_other(x, "y", z, ...) is the same as: x->y(z, ...) i.e., call_other(ob, "query_name"); could be written as: ob->query_name(); Writing out the call_other call is mainly used when the function name is in a variable, i.e: .EP .SI 5 void do_test(string fname, int x) { call_other(fname, "test_" + x); } An example of using an array as the first argument: users()->quit(); .EI