<HEAD> <TITLE> replaceable - determine whether any functions are defined in at this level </TITLE> </HEAD> <BODY BACKGROUND=http://www.imaginary.com/~beek/gifs/bg.jpg TEXT=#000000 ALINK=#FFFF00 VLINK=#550000 LINK=#000099> <center> <H1> replaceable - determine whether any functions are defined in at this level </H1> </center>
<p>
<b> int replaceable(object ob); </b>
<p>
<b> int replaceable(object ob, string array fnames); </b>
<p>
In the second form, return 0 if the program for object ob defines any
functions explicitly, as opposed to simply inheriting. Function names
in the array fnames are ignored. If no such functions are defined, 1
is returned. If the second argument is omitted, it defaults to
({ "create" }). The purpose of this efun is to assist in making
automatic decisions on whether to call replace_program(). Note that
the default version ignores create(), so it is only safe to replace a
object for which replaceable() returns true if you never intend to
clone from that object.
<p>
See also:
<A HREF=replace_program.html> replace_program </A>,
<A HREF=functions.html> functions </A>,
<A HREF=function_exists.html> function_exists </A>,
<A HREF=inherit_list.html> inherit_list </A>
<p>
<HR> <ADDRESS> <A HREF=http://wagner.princeton.edu/~tim> Tim Hollebeek </A> <p> <A HREF="http://www.imaginary.com/~beek/"> Beek </A>@ZorkMUD, Lima Bean, IdeaExchange, TMI-2, and elsewhere </ADDRESS>