Standard Library · expr
class Assign
A field assignment, u.field = value, which is the whole body of a "set" lambda.
since 0.1.0-alpha.1linuxwindowswasm
- bases
Node
Examples
expr::Node tree = expr::Assign(expr::Field(["age"]), expr::Bin("+", expr::Field(["age"]), expr::Lit(1)));
match (tree) {
expr::Assign => {
expr::Assign a = tree;
console.writeln("sets ${a.target.path[0]}");
}
else => { console.writeln("not an Assign"); }
}
sets age
Constructors
new
Create an assignment node.
Parameters
- t
- The field being assigned.
- val
- The expression whose value is assigned.
Examples
expr::Assign a = expr::Assign(expr::Field(["age"]), expr::Lit(30));
console.writeln(a.target.path[0]);
match (a.value) {
expr::Lit => { console.writeln("assigns a literal"); }
else => { console.writeln("assigns something else"); }
}
age
assigns a literal
Fields
target
Field targetThe field being assigned.
value
Node valueThe expression whose value is assigned.
See also
- Field — A member access rooted at a lambda parameter, such as
u.address.city.