ES2 MUD LIB :: 東方故事二(ES2) 天朝帝國 mudlib 瀏覽展示

/doc/efuns/call_other

HOME :: doc :: efuns :: call_other

     ccccaaaallllllll____ooootttthhhheeeerrrr((((3333))))          MMMMuuuuddddOOOOSSSS ((((5555 SSSSeeeepppp 1111999999994444))))           ccccaaaallllllll____ooootttthhhheeeerrrr((((3333))))

     NNNNAAAAMMMMEEEE
          call_other() - call a function in another object

     SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
          unknown call_other( object ob | object *obs,
                              string func | mixed *args, ... );

     DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
          Calls a function in another object, with [optional]
          argument(s).  The return value is returned from the other
          object, so it cannot be known at compile time and may need
          to be cast if using type checking.  The function named
          `func' will be called in `ob', with arguments 3, 4, etc
          given as arguments 1, 2, etc to `func' in `ob'.  call_other
          will return the return value of `func'.  If the first
          argument is an array instead of an object, then the call
          will be done in all elements of that array (all elements
          should be of type object), and an array of returns will be
          returned.  If argument 2 is an array instead of a string,
          then the first element in the array should be a string, the
          function to call, and all other elements will be passed to
          the function in the order they appear in the array.

          There is a much more attractive way to do call_others:

               object ob | object *obs -> func ( ... );

          ie,

               call_other(ob, "query", "name");

          could be written as:

               ob->query("name");

          Using an array as second argument, the same call could be
          written:

               call_other(ob, ({ "query", "name" }));

          An example of using an array as the first argument:

               users()->quit();

     Page 1                                          (printed 3/16/95)

HOME :: doc :: efuns :: call_other