From bccf2a3ade2381e8c527e888f0ce9dd7fd6f42af Mon Sep 17 00:00:00 2001 From: Grzegorz Adam Hankiewicz Date: Sun, 14 Apr 2013 22:52:21 +0200 Subject: [PATCH] Improves tutorial tuples example. --- doc/tut1.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/doc/tut1.txt b/doc/tut1.txt index 746d11f01d..7c2a35f94a 100644 --- a/doc/tut1.txt +++ b/doc/tut1.txt @@ -1311,6 +1311,24 @@ integer. echo(person[0]) # "Peter" echo(person[1]) # 30 + # You don't need to declare tuples in a separate type section. + var building: tuple[street: string, number: int] + building = ("Rue del Percebe", 13) + echo(building.street) + + # The following line does not compile, they are different tuples! + #person = building + # --> Error: type mismatch: got (tuple[street: string, number: int]) + # but expected 'TPerson' + + # The following works because the field names and types are the same. + var teacher: tuple[name: string, age: int] = ("Mark", 42) + person = teacher + +Even though you don't need to declare a type for a tuple to use it, tuples +created with different field names will be considered different objects despite +having the same field types. + Reference and pointer types ---------------------------