QUERY(L) LOCAL FUNCTIONS QUERY(L) NAME query - returns the value of a property in an object SYNPOSIS mixed query (string prop) ; DESCRIPTION This lfun is defined in the standard object. It is used to get the values of properties previously set with the set() lfun. The standard object contains a mapping called ob_data, which is used to store the properties and their values. The query() lfun returns the value of the element in the ob_data mapping whose key is the argument passed. Example: foo = query("hit_points") ; will set the variable foo equal to the value of ob_data["hit_points"]. Property values may be set to function names instead of values, by setting them to a string beginning with "@@". When this is done, query("foo") will call the named func- tion, and will return the result of that function call. For example: set ("frogs", "@@find_frogs") ; would cause query("frogs") to call the function find_frogs. This function might look like this: int find_frogs() { if (wizardp(this_player()) return frogs ; return 0 ; } meaning that if query("frogs") is called by a wizard, they will get the number of frogs, but if called by a player, they will get 0. Properties whose values depend on the querier, or whose values change over time, should usually be handled by overrides. For example, the room's long descrip- tion is handled by an override so that a list of the room's contents can be appended when query("long") is called in the room. If a property is set to a mapping, then the individual ele- ments of that mapping can be queried using the / divider. For example: set ("wealth", ([ "gold" : 50, "silver" : 10 ]) ) ; TMI-2 Release 0.9 Last change: 4-2-93 QUERY(L) LOCAL FUNCTIONS QUERY(L) then query ("wealth/gold") ; will return 50. SEE ALSO set(), add(), delete(), /std/object/prop.c. AUTHOR Mobydick@TMI-2 Sun Release 4.1 Last change: 2