#scoped #object #lazy-evaluation #super-simple #single-threaded #lazily-initialised

lazy-scoped

超级简单的懒作用域单线程懒初始化对象

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2016 年 1 月 16 日

#4#super-simple

3KB
65

懒的

超级简单的懒作用域懒初始化对象,因为急切评估是傻瓜的行为。我坦白地说,我对没有这样的 crate 而且能在任何当前版本的 Rust 上编译感到震惊。

使用建议

let lazy = Lazy::new(|| {
	println!("Doing something complicated!");
	42
});

println!("{}", *lazy);
println!("{}", *lazy);
println!("{}", *lazy);

/* Prints:
 *   Doing something complicated!
 *   42
 *   42
 *   42
 */

目前使用 RefCell 实现,但不会引发恐慌。这个类不是线程安全的,我制作这个项目的最终版本将需要它具有线程安全性,所以我可能会最终将其更新为使用线程安全的东西。

无运行时依赖