
functionp(3)          LPC 系統函數          functionp(3)

名稱
     functionp() - determine whether or not a given variable is a
     function pointer, and if so what kind

語法
     int functionp( mixed arg );

描述
     Return nonzero if `arg' is a function pointer and  zero  (0)
     otherwise.   Function  pointers are variables of type 'func-
     tion' as indicated in the documentation for the type  'func-
     tion', for example:

     f = (: obj, func :);

     The return value indicates  the  type  of  function  pointer
     using   the   values   given  in  the  driver  include  file
     "include/function.h".

     function pointer type       value  ---------------------
     -----  call_other             FP_CALL_OTHER  lfun
     FP_LOCAL   efun               FP_EFUN   simul_efun
     FP_SIMUL functional            FP_FUNCTIONAL

     In addition, the following values  will  be  added  in  some
     cases:  (arguments  provided)      FP_HAS_ARGUMENTS (creator
     has   been   dested)   FP_OWNER_DESTED   (not    rebindable)
     FP_NOT_BINDABLE

     The last set of values are bit values and can be tested with
     bit  operations.  The value FP_MASK is provided for ignoring
     the bit values and testing the basic type  of  the  function
     pointer.

     Examples:

     To test if a function variable is an efun pointer:

     if ((functionp(f) & FP_MASK) == FP_EFUN) ...

     to test if it has args:

     if (functionp(f) & FP_HAS_ARGUMENTS) ...

請參考
     mapp(3), stringp(3), pointerp(3), objectp(3), intp(3),  buf-
     ferp(3),   floatp(3),  nullp(3),  undefinedp(3),  errorp(3),
     bind(3), lpc/types/function

MudOS                Last change: 5 Sep 1994                    1

