Dart 区间运算库重磅发布!

重磅发布是开个玩笑,其实就是本身在写代码的过程当中须要区间运算,可是发现并无趁手的库,那就直接撸一个轮子吧。git

依赖库:github

dart_interval https://pub.dev/packages/dart_interval pub.dev/packages/da…bash

安装依赖

若是是 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…

相关文章
相关标签/搜索