重磅发布是开个玩笑,其实就是本身在写代码的过程当中须要区间运算,可是发现并无趁手的库,那就直接撸一个轮子吧。git
依赖库:github
若是是 Dart 项目,执行如下命令:markdown
dart pub add dart_interval
复制代码
若是是 Flutter 项目,则能够执行:数据结构
flutter pub add dart_interval
复制代码
或者直接在项目的 pubspec.yaml
文件中添加下面的内容:oop
dependencies:
dart_interval: ^0.1.1
复制代码
Interval
- 提供区间的数据结构IntervalSet
- 提供多个区间的合并操做& |
- 支持区间的交集、并集运算import 'package:dart_interval/dart_interval.dart';
final v1 = Interval.between(1, 3, lowerClosed: false, upperClosed: false);
复制代码
能够使用 Interval.between
方法来建立一个区间。还有两个可选参数,分别表明区间的左右开闭。ui
final v1 = Interval.between(1, 3);
final v2 = Interval.between(2, 5);
final v3 = Interval.between(7, 9);
final set = IntervalSet([v1, v2, v3]);
print(set);
// output: [1, 5],[7, 9]
复制代码
能够使用 IntervalSet
来合并多个区间。spa
print(v1 & v2);
// output: [2, 3]
复制代码
Interval
重载了 &
和 |
操做符,能够直接用来进行交集运算或者并集运算。code
print(v1 | v2);
// output: [1, 5]
复制代码
或者orm
print(IntervalSet([v1, v2]));
// output: [1, 5]
复制代码
Github 地址:github.com/T-Oner/dart…