diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2025-08-16 17:21:01 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2025-08-16 17:21:01 -0400 |
| commit | c72b0406a32ffc3f04324f7b6c321486762fca41 (patch) | |
| tree | 244e51c858890ea2ffb8c74a2c33c81b79de376e /api/bytes.md | |
| parent | 849fd423a759edf1b58b548a6148c177a6f8cd71 (diff) | |
Improved parsing and prefix/suffix matching using a `remainder`
parameter
Diffstat (limited to 'api/bytes.md')
| -rw-r--r-- | api/bytes.md | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/api/bytes.md b/api/bytes.md index 908d78e2..fe8dddb1 100644 --- a/api/bytes.md +++ b/api/bytes.md @@ -86,7 +86,7 @@ high | `Byte` | The upper bound to check (inclusive). | - ## Byte.parse ```tomo -Byte.parse : func(text: Text -> Byte?) +Byte.parse : func(text: Text, remainder: &Text? = none -> Byte?) ``` Parse a byte literal from text. @@ -94,6 +94,7 @@ Parse a byte literal from text. Argument | Type | Description | Default ---------|------|-------------|--------- text | `Text` | The text to parse. | - +remainder | `&Text?` | If non-none, this argument will be set to the remainder of the text after the matching part. If none, parsing will only succeed if the entire text matches. | `none` **Return:** The byte parsed from the text, if successful, otherwise `none`. @@ -101,9 +102,17 @@ text | `Text` | The text to parse. | - **Example:** ```tomo >> Byte.parse("5") -= Byte(5)? += Byte(5) : Byte? >> Byte.parse("asdf") -= none += none : Byte? + +>> Byte.parse("123xyz") += none : Byte? +remainder : Text +>> Byte.parse("123xyz", &remainder) += Byte(123) : Byte? +>> remainder += "xyz" ``` ## Byte.to |
