Core Help Root: Commands: @scour


ADMIN COMMAND

Syntax: @scour <scope> [[!]{<comparison>}] [<range>] [<options>]

Used to scour the database for information yielded by <scope>, optionally only matching <comparison>. @scour returns a formatted list whose left-hand column is isomorphic to <scope> itself and whose right-hand column contains the values returned by evaluating <scope>.

<scope> must be provided, as it specifies what @scour should analyze. <scope> may be of any of the following forms:

.<method>([<arguments>])
,<variable>
:<setting>

If provided, <comparison> provides the standard against which to match the return value of <scope>. <comparison> should have the correct literal form of any valid data type. By prefixing an exclaimation point onto the left curly brace, @scour will match only <scope> values which do -not- match comparison.

<range> provides a list of objects which @scour should traverse when evaluating <scope>. If <range> is supplied, @scour will determine the object numbers to be tested. <range> should be of the following form:

<starting-object> .. <ending-object>

@scour will determine for itself the order of these object numbers, and will not be defeated if <starting-object>.objnum() > <ending-object>.objnum(). Either way, the resultant list will be those object numbers lying between them.

OPTIONS

+d?escend=<object>

If <range> is not provided, this option must be included. @scour will begin with <object> and analyze <scope> for all its descendants. Warning: typically one should not descend from $root, as this can lag the server.

+m?atch=r?egexp|t?emplate|e?quals

Determine the matching conventions for comparing the return value of <scope> and <comparison>. r?egexp makes use of ColdC regular expression matching; t?emplate uses ColdC template matching; e?quals matches only exactly. +match by default uses regular expression matching. +match should not be supplied if <comparison> is not provided.

EXAMPLES

@scour .get_setting("exit-style", $user) +d=$user !{p[a-z]+}
Returns all users whose exit-style is not 'pipes.
@scour +d=$place {[]} .get_description() +m=equals
Returns every room with a totally blank description.
@scour $sys .. $kirnamat ,quota
Returns the quota of every object between #0 and #805 whose ,quota has not been cleared by the system.
@scour :doing +d=$user +m=temp {* lives *}
Returns all users whose doing messages are of the form: <words> "lives" <words>

Questions, comments, or suggestions should be addressed to Kirnamat.



the Cold Dark