《通链参考手册》


Function REMPROP

●语法设定:

remprop symbol indicator => generalized-boolean

●参数和值:

symbol---a symbol.

indicator---an object.

generalized-boolean---a generalized boolean.

●详情:

remprop removes from the property list[2] of symbol a property[1] with a property indicator identical to indicator. If there are multiple properties[1] with the identical key, remprop only removes the first such property. remprop returns false if no such property was found, or true if a property was found.

The property indicator and the corresponding property value are removed in an undefined order by destructively splicing the property list. The permissible side-effects correspond to those permitted for remf, such that:

 (remprop x y) ==  (remf (symbol-plist x) y)

●例子:

 (setq test (make-symbol "PSEUDO-PI")) =>  #:PSEUDO-PI
 (symbol-plist test) =>  ()
 (setf (get test 'constant) t) =>  T
 (setf (get test 'approximation) 3.14) =>  3.14
 (setf (get test 'error-range) 'noticeable) =>  NOTICEABLE
 (symbol-plist test) 
=>  (ERROR-RANGE NOTICEABLE APPROXIMATION 3.14 CONSTANT T)
 (setf (get test 'approximation) nil) =>  NIL
 (symbol-plist test) 
=>  (ERROR-RANGE NOTICEABLE APPROXIMATION NIL CONSTANT T)
 (get test 'approximation) =>  NIL
 (remprop test 'approximation) =>  true
 (get test 'approximation) =>  NIL
 (symbol-plist test)
=>  (ERROR-RANGE NOTICEABLE CONSTANT T)
 (remprop test 'approximation) =>  NIL
 (symbol-plist test)
=>  (ERROR-RANGE NOTICEABLE CONSTANT T)
 (remprop test 'error-range) =>  true
 (setf (get test 'approximation) 3) =>  3
 (symbol-plist test)
=>  (APPROXIMATION 3 CONSTANT T)

●副作用:

The property list of symbol is modified.

●受制于: 无。

●例外情况:

Should signal an error of type type-error if symbol is not a symbol.

●更多信息:

remf, symbol-plist

●说明:

Numbers and characters are not recommended for use as indicators in portable code since remprop tests with eq rather than eql, and consequently the effect of using such indicators is implementation-dependent. Of course, if you've gotten as far as needing to remove such a property, you don't have much choice---the time to have been thinking about this was when you used setf of get to establish the property.


X3J13设计清单非标准部分,可查下面章节:


◇首页 § ◎章节目录 § □内容索引 § ○符号索引 § △术语表 § ※设计草案