February 2019
Beginner to intermediate
180 pages
4h 4m
English
We can use pattern matching on our person:
switch (person) {| ("Zoe", age) => {j|Zoe, $age years old|j}| _ => "another person"};
Let's use a record instead of a tuple for our person. Records are similar JavaScript objects except they're much lighter and are immutable by default:
type person = { age: int, name: string};let person = { name: "Zoe", age: 3};
We can use pattern matching on records too:
switch (person) {| {name: "Zoe", age} => {j|Zoe, $age years old|j}| _ => "another person"};
Like JavaScript, {name: "Zoe", age: age} can be represented as {name: "Zoe", age}.
We can create a new record from an existing one using the spread ( ... ) operator:
let person = {...person, age: person.age + 1};
Records require type definitions ...