Method `->=()
- Method
`->=
mixed`->=(objectarg,stringindex,mixedval)
mixed`->=(mappingarg,stringindex,mixedval)
bool`->=(multisetarg,stringindex,boolval)- Description
Arrow index assignment.
Every lvalue expression with the
->operator becomes a call to this function, i.e.a->b=cis the same aspredef::`->=(a,"b",c)where"b"is the symbolbin string form.This function behaves like `[]=, except that the index is passed literally as a string instead of being evaluated.
If
argis an object that implements lfun::`->=(), that function will be called withindexandvalas the arguments.argcan have any of the following types:objectThe non-protected (ie public) variable named
indexwill be looked up inarg, and assignedval.array|mappingIndex
indexinargwill be assignedval.multisetIf
valis0(zero), one occurrance ofindexinargwill be removed. Otherwiseindexwill be added toargif it is not already there.- Returns
valwill be returned.- Note
In an expression
a->b=c, the symbolbcan be any token that matches the identifier syntax - keywords are disregarded in that context.- Note
An arrow indexing expression in a non-lvalue context, i.e. where the index is being queried instead of assigned, uses `-> instead of this function.
- See also