================================================================================ Simple setting of default ------------------------------ $$name = {Moira} $$name{} $$name = {Moira | Wafflebear} $$name{} ------------------------------ Moira Moira Wafflebear ------------------------------ ================================================================================ Add new properties ------------------------------ $$person = {customer} $$person{} $$person.firstName = {Fred} $$DebugSpewVariable{person} $$person2.title = {Emperor} $$person2{} $$person2.title{} ------------------------------ customer --- Start spew --- ::default:: customer ::firstName:: Fred --- End spew --- Emperor ------------------------------ ================================================================================ Change properties ------------------------------ $$person = {customer} $$person.firstName = {Fred} $$DebugSpewVariable{person} $$person.firstName = {Amy} $$person.default = {patron} $$DebugSpewVariable{person} ------------------------------ --- Start spew --- ::default:: customer ::firstName:: Fred --- End spew --- --- Start spew --- ::default:: patron ::firstName:: Amy --- End spew --- ------------------------------ ================================================================================ Set individual elements of a variable ------------------------------ $$name = {Moira | wafflebear} $$name.default[0] = {Fred} $$name{} $$name[0] = {Alex} $$name{} $$name[3] = {Bobo} $$name{} ------------------------------ Fred wafflebear Alex wafflebear Alex wafflebear Bobo ------------------------------ ================================================================================ Access things that don't exist ------------------------------ $$person = {Sollux|.title Seer} $$person{} $$person.title{} $$person.aspect{} $$person[4]{} ------------------------------ Sollux Seer ------------------------------ Unknown property: aspect Bad index: 4 ================================================================================ Append: 1 ------------------------------ $$person = {Alex} $$person += {Wooflekin} $$person{} $$person.default += {III} $$person{} $$person += {Sr. |.title Emperor} $$DebugSpewVariable{person} ------------------------------ Alex Wooflekin Alex Wooflekin III --- Start spew --- ::default:: Alex Wooflekin III Sr. ::title:: Emperor --- End spew --- ------------------------------ ================================================================================ Append: 2 ------------------------------ $$person.title += {Emperor} $$person{} $$person.title{} $$person[2] += {Fred} $$DebugSpewVariable{person} ------------------------------ Emperor --- Start spew --- ::default:: ::title:: Emperor --- End spew --- ------------------------------ Can't append to [2] ================================================================================ Clear: 1 ------------------------------ $$person = {Fred} $$Clear{person} $$person{} $$Clear{person} ------------------------------ ------------------------------ Unknown variable person ================================================================================ Clear: 2 ------------------------------ $$person = {Fred | Wumbleton |.title = Plumber} $$Clear{person.house} $$Clear{person.title} $$DebugSpewVariable{person} $$Clear{person.default[4]} $$DebugSpewVariable{person} $$Clear{person.default[0]} $$DebugSpewVariable{person} $$Clear{person.default} $$DebugSpewVariable{person} ------------------------------ --- Start spew --- ::default:: Fred Wumbleton --- End spew --- --- Start spew --- ::default:: Fred Wumbleton --- End spew --- --- Start spew --- ::default:: Wumbleton --- End spew --- --- Start spew --- ::default:: --- End spew --- ------------------------------ Can't clear default[4] ================================================================================