functionp(3) LP MudOSv21c7 (7 Jul 1996)
函数名称:
functionp() - 判断指定的变数是否为一个函式指标
(function pointer). 如果是函式指标,
则再判断为何种型态.
函数语法:
int functionp( mixed arg );
整数 functionp( 混合 arg );
函数用法:
如果 arg 是一个函式指标则传回非零值 (nonzero), 如果
不是则传回 0.
函式指标是一种「函式」(function) 型态的指标变数.
以下是一个□例:
f = (: obj, func :);
传回的值指示出函式指标的型态, 而这些传回值被定义在
驱动程式中的 "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
另外在某些情形下, 会加上以下的值:
(有参数) FP_HAS_ARGUMENTS
(创造函式的物件被摧毁) FP_OWNER_DESTED
(函式无法连结) FP_NOT_BINDABLE
最後三个值为位元值 (bit value), 可以用位元测试.
FP_MASK 可以忽略这些位元值, 测试基本的函式指标型态
□例:
测试一个函式指标变数是否为超越函式指标:
if ((functionp(f) & FP_MASK) == FP_EFUN) ...
测试其是否有参数:
if (functionp(f) & FP_HAS_ARGUMENTS) ...
参考函数:
mapp(3), stringp(3), pointerp(3), objectp(3), intp(3),
bufferp(3), floatp(3), nullp(3), undefinedp(3),
errorp(3), bind(3), lpc/types/function
手册翻译:
Phoebus@ZH 97.Jul.26. (Writen 5/23/97)