#cache #closures #hash-map #results #automatic

function_cache

一种自动缓存函数结果的类型

1 个不稳定版本

0.1.0 2021年7月1日

#259缓存

MIT 许可协议

6KB
56

function_cache

function_cache 是一个简单的泛型包装器,它围绕一个函数包装,用于缓存给定输入到哈希表的结果。

它基于《Rust编程语言》第13.1章的示例,并作为我对Cargo包生态系统有更好理解的示例!

安装

要安装,只需将 function_cache crate 添加到您的 Cargo.toml 文件中。

[dependencies]
function_cache = "0.1.0"

示例

CachedFunction 实例可以通过 new 静态方法创建,该方法接受一个闭包。可以通过 value(arg) 方法访问底层值。

let mut cached_function = CachedFunction::new(|x: i32| {
    thread::sleep(Duration::from_secs(5));
    x
});

let not_cached = cached_function.value(2);  // returns 2, after 5 seconds
let cached = cached_function.value(2); // returns 2, but much quicker!

许可协议

根据MIT许可协议分发。有关更多信息,请参阅LICENSE.md

无运行时依赖