https://github.com/killercup/a-range
Write quick and explict ranges in Rust
https://github.com/killercup/a-range
library rust
Last synced: 9 months ago
JSON representation
Write quick and explict ranges in Rust
- Host: GitHub
- URL: https://github.com/killercup/a-range
- Owner: killercup
- License: apache-2.0
- Created: 2018-10-18T12:08:05.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-10-08T19:12:36.000Z (over 6 years ago)
- Last Synced: 2024-10-12T03:25:01.001Z (over 1 year ago)
- Topics: library, rust
- Language: Rust
- Homepage: https://docs.rs/a-range
- Size: 41 KB
- Stars: 15
- Watchers: 4
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# A Range
> **Write quick and explict ranges in Rust**
[](https://travis-ci.com/killercup/a-range)
[](https://crates.io/crates/a-range)
[](https://docs.rs/a-range)
## Example
```rust
extern crate a_range;
// Create upward-counting inclusive ranges
let days_of_xmas = a_range::from(1).up_to(12);
let expected = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
assert_eq!(days_of_xmas.to_vec(), expected);
// Just as easily count backwards
let apollo_countdown = a_range::from(100).down_to(0);
let expected: Vec = (0..101).rev().collect();
assert_eq!(apollo_countdown.to_vec(), expected);
// Infinite ranges are also fun
let naturals = a_range::from(0).up_to_infinity();
let until_four: Vec = naturals.into_iter().take(5).collect();
assert_eq!(until_four, vec![0, 1, 2, 3, 4]);
```
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the Apache-2.0
license, shall be dual licensed as above, without any additional terms or
conditions.