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