Generic BigList Resident #73

Parent #1Owner #36Flags read, fertileSource QuestCore.db

Aliases: Generic BigList Resident

7 verbs · 7 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
_makethis none thisrxd#737
_killthis none thisrxd#735
_getthis none thisrxd#731
_putthis none thisrxd#731
_genpropthis none thisrxd#7310
_ordthis none thisrxd#732
init_for_corethis none thisrxd#735

Properties

PropertyDefinerFlagsOwnerValue
_genprop#73rc#36"a"
mowner#73rc#36#36
_mgr#73rc#36#13
key#1c#36<clear>
aliases#1rc#36{"Generic BigList Resident"}
description#1rc#36
list of 1{"This is the object you want to use as a parent in order to @create a place for your biglists to live. Suitably sick souls may wish to reimplement :_genprop and :_kill to reclaim unused properties (this :_kill just throws them away and this :_genprop just relentlessly advances.... who cares). Anyway, you'll need to look at $biglist before this will make sense."}
object_size#1r#36{3744, -1090650497}

Ancestry

Ancestors (nearest first): #1 Root Class

Children: none

Call graph

calls n73_0 #73:_make n73_4 #73:_genprop n73_0->n73_4

Source

_make

Spec this none thisFlags rxdOwner #2Definer #73

Referenced by

none

Source

1":_make(...) => new node with value {...}";
2if (!(caller in {this._mgr, this}))
3return E_PERM;
4endif
5prop = this:_genprop();
6add_property(this, prop, args, {$generic_biglist_home.owner, ""});
7return prop;

_kill

Spec this none thisFlags rxdOwner #2Definer #73

Referenced by

none

Source

1":_kill(node) destroys the given node.";
2if (!(caller in {this, this._mgr}))
3return E_PERM;
4endif
5delete_property(this, args[1]);

_get

Spec this none thisFlags rxdOwner #36Definer #73

Referenced by

none

Source

1return (caller == this._mgr) ? this.(args[1]) | E_PERM;

_put

Spec this none thisFlags rxdOwner #36Definer #73

Referenced by

none

Source

1return (caller == this._mgr) ? this.(args[1]) = listdelete(args, 1) | E_PERM;

_genprop

Spec this none thisFlags rxdOwner #36Definer #73

Referenced by

Source

1gp = this._genprop;
2ngp = "";
3for i in [1..length(gp)]
4if (gp[i] != "z")
5ngp = (ngp + "bcdefghijklmnopqrstuvwxyz"[strcmp(gp[i], "`")]) + gp[i + 1..$];
6return " " + (this._genprop = ngp);
7endif
8ngp = ngp + "a";
9endfor
10return " " + (this._genprop = ngp + "a");

_ord

Spec this none thisFlags rxdOwner #36Definer #73

Referenced by

none

Source

1"this is a dummy. You have to decide what your leaves are going to look like and then write this verb accordingly.  It should, given a leaf/list-element, return the corresponding key value.  So for an ordinary alist, where all of the leaves are of the form {key,datum}, you want:";
2return args[1][1];

init_for_core

Spec this none thisFlags rxdOwner #2Definer #73

Referenced by

none

Source

1if (!caller_perms().wizard)
2return E_PERM;
3endif
4this.mowner = $hacker;
5this._mgr = $biglist;