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)
|