View/Edit #7165:_callers_scan

Switch to edit mode.

Name(s): _callers_scan
1:  "Called using args: {<this>, <verb-name>, <programmer>, <verb-loc>, <player>}.  If an arg is *, it matches all entries."
2:  "All args must match to match entry."
3:  "Returns first entry matched or #-1 if none"
4:  "03/11/96-added cheap trick to produce O(n) operation.  Did you know 'x in {y,z,a,...}' only takes 2 ticks?"
5:  callers = callers()[2..length(callers())]
6:  while (x = "*" in args)
7:    args = listdelete(args, x)
8:    for y in [1..length(callers)]
9:      callers[y] = listdelete(callers[y], x)
10:   endfor
11: endwhile
12: return (a = args in callers) ? callers()[a + 1] | $failed_match

Verb arguments: this none this
Verb perms: Readable eXecutable NOT-Debug
Verb owned by: manta (#7165)

You are not logged in.

[home | help | who | search | setup | code]