#observer #events #observable #pointers #data #immutability #mutable

simple-observable

简单可观察指针,用于可变和不可变数据

5个版本

0.2.2 2022年2月11日
0.2.1 2022年2月11日
0.2.0 2022年2月11日
0.1.1 2022年2月9日
0.1.0 2022年2月9日

#1507数据结构

MIT 协议

4KB

简单可观察

这个简单的库旨在在您的数据发生变化时通知您

添加依赖项: simple-observable = "0.2.2"

更改观察值

use simple_observable::Observable;

fn main() {
    let a = 1;
    println!("Initial value: {}", a);
    let mut obs1 = Observable::new(a);
    obs1.add_listener(listener1);
    obs1.add_listener(listener2);
    obs1.add_listener(listener3);
    obs1.change(my_change_function);
}

fn my_change_function(num: &mut i32) {
    *num += 1;
}

fn listener1(num: &i32) {
    println!("(listener1) New value after change: {}", num);
}

fn listener2(num: &i32) {
    println!("(listener2) New value after change: {}", num);
}

fn listener3(num: &i32) {
    println!("(listener3) New value after change: {}", num);
}

Observable 是一个指针,可以解引用并直接访问数据。然而,数据不能更改,只能读取

重要的是要理解,Observable 拥有数据,更改数据的唯一方法是调用 change() 方法。

无运行时依赖