diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-08-19 00:23:02 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-08-19 00:23:02 -0400 |
| commit | 67e8f2dea0d4eec20a839d47f1fa6302a4a5f733 (patch) | |
| tree | 3f9d28687b6ac824b5676c963ef9964ac4857c4a /api/structs.md | |
| parent | 8363d53bd27c621cb342fea15736a3b11231f2a4 (diff) | |
Move docs into one folder
Diffstat (limited to 'api/structs.md')
| -rw-r--r-- | api/structs.md | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/api/structs.md b/api/structs.md deleted file mode 100644 index 4ab78fed..00000000 --- a/api/structs.md +++ /dev/null @@ -1,39 +0,0 @@ -# Structs - -In Tomo, you can define your own structs, which hold members with arbitrary -types that can be accessed by fields: - -```tomo -struct Foo(name:Text, age:Int) -... ->> my_foo := Foo("Bob", age=10) -= Foo(name="Bob", age=10) ->> my_foo.name -= "Bob" -``` - -Structs are value types and comparisons on them operate on the member values -one after the other. - -## Namespaces - -Structs can define their own methods that can be called with a `:` or different -values that are stored on the type itself. - -```tomo -struct Foo(name:Text, age:Int): - oldest := Foo("Methuselah", 969) - - func greet(f:Foo): - say("Hi my name is $f.name and I am $f.age years old!") - - func get_older(f:&Foo): - f.age += 1 -... -my_foo := Foo("Alice", 28) -my_foo:greet() -my_foo:get_older() -``` - -Method calls work when the first argument is the struct type or a pointer to -the struct type. |
