网络游戏《天下》 管理员手册

MudOS v21c2


	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)