Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/winksaville/zig-parse-number
Implement ParseNumber which can parse any TypeId.Int or TypeId.Float.
https://github.com/winksaville/zig-parse-number
Last synced: 3 months ago
JSON representation
Implement ParseNumber which can parse any TypeId.Int or TypeId.Float.
- Host: GitHub
- URL: https://github.com/winksaville/zig-parse-number
- Owner: winksaville
- License: unlicense
- Created: 2018-11-17T05:27:32.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-05T21:13:52.000Z (almost 6 years ago)
- Last Synced: 2024-08-03T23:18:22.624Z (6 months ago)
- Language: Zig
- Size: 29.3 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zig - winksaville/zig-parse-number
- awesome-zig - zig-parse-number🗒️Implement ParseNumber which can parse any TypeId.Int or TypeId.Float
README
# Zig ParseNumber
ParseNumber returns a struct has a `parse` member that takes a slice and returns a T.
```
pub fn ParseNumber(comptime T: type) type {
return struct {
fn parse(str: []const u8) !T {
...
}
}
}
```## Examples
```
test "ParseNumber.parseF32" {
const parseF32 = ParseNumber(f32).parse;
var vf32 = try parseF32("123.e4");
assert(vf32 == f32(123e4));
}
```## Test
```bash
$ zig test --release-safe parse_number.zig
Test 1/7 ParseNumber.parseIntegerNumber...OK
Test 2/7 ParseNumber.parseFloatNumber...OK
Test 3/7 ParseNumber...OK
Test 4/7 ParseNumber.errors...OK
Test 5/7 ParseNumber.non-u8-sizes...OK
Test 6/7 ParseNumber.non-u8-size-errors...OK
Test 7/7 ParseNumber.parseF32...OK
All tests passed.
```## Clean
Remove `zig-cache/` directory
```bash
$ rm -rf test ./zig-cache/
```