Skip to main content

quickstart/
quickstart.rs

1use this_me::kernel::{Kernel, Value};
2
3fn run() -> Result<(), Box<dyn std::error::Error>> {
4    let mut me = Kernel::new();
5
6    me.postulate("profile.name", "Jabellae")?;
7    me.postulate("wallet.income", 100_u64)?;
8    me.postulate("wallet.expenses", 40_u64)?;
9    me.derive("", "wallet.total", "wallet.income - wallet.expenses")?;
10
11    assert_eq!(me.read("wallet.total"), Some(&Value::from(60_u64)));
12    println!("wallet.total = {:?}", me.read("wallet.total"));
13
14    Ok(())
15}
16
17fn main() -> Result<(), Box<dyn std::error::Error>> {
18    run()
19}
20
21#[test]
22fn example_runs() {
23    run().unwrap();
24}