[DGD]Inherit and include

mtaylor mtaylor at ntlworld.com
Fri May 25 14:36:52 CEST 2001


Thanks very much! That's much clearer to me now :)

Matt



>> I have a little question regarding inherits and includes.... It's probably
>> going to seem really dumb but here goes:
> 
> No, it sounds perfectly sensible.
> (ie, the questions you're asking are good questions to ask)
> 
>> The way I understand it (and I may embarrass myself by being totally wrong)
> 
>> when you include a file into a file you are effectively copying the code in
> 
>> the include file into your other file.
> 
> Pretty much.
> There some tiny differences (like the error messages will point you to the
> correct
> line in the ".h" file), but the don't really effect the outcome of your
> question.
> 
> 
>> When you inherit a file does it do the same thing?
> 
> No.
> You don't technically inherit a file.
> You inherit a program.
> The program is defined by a file containing LPC code, but
>  inherit "/usr/darkcide/frobnaz" ;
> doesn't actually mean to inherit the file, it means to inherit the program
> that
> is produced by compiling that file.
> 
>> For example if I inherit
>> file Y in file Z is it the same as writing all the code in the
>> Y file into my Z file.
> 
> No.
> 
>> Or does it make a reference to the functions in Y.
> 
> Yes (more or less)
> 
>> Each command file inherits tools.c
>> 
>> So ... Is each command file copying the tools.c file into itself thus
>> creating essentially loads of copies of the tools.c code?
> 
> Not quite.
> If tools.c contains lost of variables, then they are copied, because each
> object
> needs its own copy of the variable, but the code is not copied.
> It's much like using clone_object(), each time you clone it, you recreate the
> variables, but there's only 1 copy of the code.
> 
> 
>> Would it be better to have all the commands in one .c file that inherits
>> tools.c?
> 
> Possibly, but that's a design question that relates to the way your mudlib
> will
> operate.
> You probably don't need to worry from an efficiency point of view.
> 
> List config page:  http://list.imaginary.com/mailman/listinfo/dgd


List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list