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/nums.yaml | |
| parent | 849fd423a759edf1b58b548a6148c177a6f8cd71 (diff) | |
Improved parsing and prefix/suffix matching using a `remainder`
parameter
Diffstat (limited to 'api/nums.yaml')
| -rw-r--r-- | api/nums.yaml | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/api/nums.yaml b/api/nums.yaml index e666a0d6..2c18fac5 100644 --- a/api/nums.yaml +++ b/api/nums.yaml @@ -686,11 +686,25 @@ Num.parse: type: 'Text' description: > The text containing the number. + remainder: + type: '&Text?' + default: 'none' + description: > + 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. example: | >> Num.parse("3.14") - = 3.14 + = 3.14 : Num? >> Num.parse("1e3") - = 1000 + = 1000 : Num? + + >> Num.parse("1.5junk") + = none : Num? + remainder : Text + >> Num.parse("1.5junk", &remainder) + = 1.5 : Num? + >> remainder + = "junk" Num.percent: short: format as a percentage |
