functionp(3) MudOS v21c2 (5 Sep 1994) 名称: 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 翻译: Spock @ FF 97.Jul.26. (printed 3/16/95)