#lcs #diff #difference #slice #compute #algorithm

lcs-diff

使用LCS算法计算两个切片之间的差异

2个版本

使用旧的Rust 2015

0.1.1 2018年2月13日
0.1.0 2018年2月12日

#2181算法

Download history 107/week @ 2024-03-11 99/week @ 2024-03-18 105/week @ 2024-03-25 152/week @ 2024-04-01 64/week @ 2024-04-08 95/week @ 2024-04-15 106/week @ 2024-04-22 81/week @ 2024-04-29 87/week @ 2024-05-06 77/week @ 2024-05-13 73/week @ 2024-05-20 83/week @ 2024-05-27 60/week @ 2024-06-03 52/week @ 2024-06-10 81/week @ 2024-06-17 78/week @ 2024-06-24

281 每月下载量
7 个crate中(5个直接使用) 使用

MIT 许可协议

15KB
247

lcs-diff-rs

使用LCS算法计算两个切片之间的差异。

CircleCI

示例

extern crate lcs_diff;

use self::lcs_diff::*;

fn main() {
    let old = vec!["foo", "bar", "baz"];
    let new = vec!["foo", "baz", "hoge"];

    for diff in lcs_diff::diff(&old, &new) {
        match diff {
            DiffResult::Added(a) => println!("+{} new index = {}", a.data, a.new_index.unwrap()),
            DiffResult::Common(c) => {
                println!(" {} old index = {}, new index = {}",
                         c.data,
                         c.old_index.unwrap(),
                         c.new_index.unwrap())
            }
            DiffResult::Removed(r) => println!("-{} old index = {}", r.data, r.old_index.unwrap()),
        }
    }
}

您还可以按照以下示例运行示例。

rustup run nightly cargo run --example example

许可协议

MIT 许可协议 (MIT)

版权所有 (c) 2018 @bokuweb

特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人免费使用权,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许提供软件的人为此目的进行操作,但必须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任是因合同、侵权或其他原因引起的,也不论该责任是与软件或其使用或操作有关还是由此产生的。

无运行时依赖