DESCRIPTION¶
Return the load name for the object obj
which may be given directly or by its name.
If obj
is a clone, return the load_name
(E) of obj
‘s blueprint. If obj
is a blueprint, return the filename from which the blueprint was compiled.
If obj
is given by name but not/no longer existing, the function synthesizes the load name as it should be and returns that. If the given name is illegal, the function returns 0.
As a special case, if obj
is 0, the function returns 0.
For virtual objects this efun returns the original load_name of the object created by the virtual compiler.
If obj
is omitted, the name for the current object is returned.
In contrast to the object_name
(E), the load name can not be changed by with rename_object
(E) or a virtual compiler. However, if an object uses replace_program
(E) the load name no longer reflects the actual behaviour of an object.
The returned name starts with a ‘/’, unless the driver is running in __COMPAT_MODE__
.
USAGE¶
object o;
o = clone_object("/std/thing");
write(load_name(o)); // writes "/std/thing" in !compat mode
// and "std/thing" in compat mode
write(load_name("/std/thing")); // same as above
write(load_name("/std/thing#4n5")); // writes 0
HISTORY¶
- introduced (3.2.6)
- changed (3.2.8) – Strings are accepted as arguments
- changed (3.2.9) – 0 is accepted as argument