| SYNOPSIS |
| unknown call_strict(object|string ob, string func, ...) |
| unknown call_strict(object*|string* ob, string func, ...) |
| |
| ob.fun(...) |
| ob."fun"(...) |
| ob.(fun)(...) |
| |
| DESCRIPTION |
| Similar to call_other(). Call a member function <fun> in another |
| object <ob> if the function is defined and publicly accessible. |
| Any of the optional extra arguments are passed to the function. |
| Result is the value returned from the called function. |
| |
| ob.fun(args) and ob."fun"(args) are equivalent to |
| call_strict(ob, "fun", args). |
| "ob_name".fun(args) and "ob_name"."fun"(args) are equivalent to |
| call_strict("ob_name", "fun", args); |
| ob.(fun)(args) is equivalent to call_strict(ob, fun, args), |
| "ob_name".(fun)(args) is equivalent to |
| call_strict("ob_name", fun, args). |
| |
| If ob::fun does not define a publicly accessible function, the |
| efun will call the H_DEFAULT_METHOD hook if set. If the hook |
| is not set or can't resolve the call either, the efun will raise |
| a runtime error. |
| |
| Calls to the master object never use the H_DEFAULT_METHOD hook. |
| To force non-default calls, the efun call_direct_strict() can |
| be used. |
| |
| ob can also be an object_name. If a string is passed for ob |
| and an object with that name can't be found or loaded, an |
| error occurs. |
| |
| Additionally the efun accepts an array of objects as <ob>: the |
| function is called with the same arguments in all the given objects. |
| The single results are collected in an array and yield the final |
| result. Array elements can be objects or the names of existing |
| objects. If a call to any of the objects failes, the efun will |
| raise a runtime error. |
| |
| HISTORY |
| Introduced in LDMud 3.6.2. |
| |
| SEE ALSO |
| call_other(E), call_resolved(E), call_direct(E), |
| call_direct_strict(E), call_direct_resolved(E), |
| create(A), pragma(LPC), extern_call(E), function_exists(E), |
| functions(LPC), map_objects(E) |