libai 0.3.0

AI 开发用到的一些基础数据结构
Documentation
use anyhow::Result;
use libai::dynamic::Dynamic;
use libai::{dmap, dvec};
use libai::json::ToJson;
use libai::msgpack::{MsgPack, MsgUnpack};

fn main() -> Result<()> {
    let obj = dmap!("name"=> "zhu", "age"=>10, "other"=>dvec![10, "aa", 30.0]);
    let mut buf = String::new();
    obj.to_json(&mut buf);
    println!("{:?}", obj);
    println!("{}", buf);
    
    let mut buf = Vec::new();
    obj.encode(&mut buf);
    let obj = Dynamic::decode(buf.as_slice());
    println!("{} {:?}", buf.len(), obj);
    let b1 = Dynamic::from_bytes(vec![1,2,3,4,5]);
    let b2 = Dynamic::from_bytes(vec![1,2,3,4,5]);
    let b3 = Dynamic::from_bytes(vec![1,2,3,4,5,6]);
    let b4 = Dynamic::from_bytes(vec![1,2,0,4,5]);
    println!("{} {} {} {}", b1 == b2, b1 == b3, b1 == b4, b2 == b1);
    Ok(())
}