<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>