Add docs on bytes

This commit is contained in:
Bruce Hill 2024-09-15 17:00:25 -04:00
parent 0060686646
commit 3cbc62ee43
2 changed files with 36 additions and 0 deletions

View File

@ -19,6 +19,7 @@ Information about Tomo's built-in types can be found here:
- [Arrays](arrays.md)
- [Booleans](booleans.md)
- [Bytes](bytes.md)
- [Channels](channels.md)
- [Enums](enums.md)
- [Floating point numbers](nums.md)

35
docs/bytes.md Normal file
View File

@ -0,0 +1,35 @@
# Byte Values
Byte values have the type `Byte`, which corresponds to an unsigned 8-bit
integer ranging from 0 to 255. It is generally recommended to use `Int8`
instead of `Byte` when performing math operations, however, `Byte`s are used in
API methods for `Text` and `Path` that deal with raw binary data, such as
`Path.read_bytes()` and `Text.utf8_bytes()`. Byte literals can be written as an
integer with a `[B]` suffix, e.g. `255[B]`.
# Byte Methods
## `random`
**Description:**
Generates a random byte value in the specified range.
**Usage:**
```tomo
random(min: Byte = Byte.min, max: Byte = Byte.max) -> Byte
```
**Parameters:**
- `min`: The minimum value to generate (inclusive).
- `max`: The maximum value to generate (inclusive).
**Returns:**
A random byte chosen with uniform probability from within the given range
(inclusive). If `min` is greater than `max`, an error will be raised.
**Example:**
```tomo
>> Byte.random()
= 42[B]
```