Qdrant 是一个面向下一代AI应用的向量数据库。
use reefdb::OnDiskReefDB;
fn main() {
let kv_path = "kv.db";
let index = "index.bin";
let mut db = OnDiskReefDB::new(kv_path.to_string(), index.to_string());
let queries = vec![
"CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)",
"INSERT INTO users VALUES (1, 'Alice')",
"INSERT INTO users VALUES (2, 'Bob')",
"SELECT * FROM users WHERE id = 1",
];
for query in queries {
let result = db.query(query);
println!("Result: {:?}", result);
}
}
use typedmap::{TypedMap, TypedMapKey};
// 定义key的类型
#[derive(Debug, PartialEq, Eq, Hash)]
struct Dog{name: String};
#[derive(Debug, PartialEq, Eq, Hash)]
struct Cat{name: String};
struct Bark{volume: u32};
struct Mew{pitch: f32};
// 定义key对应的value的类型
impl TypedMapKey for Dog {
type Value = Bark;
}
impl TypedMapKey for Cat {
type Value = Mew;
}
// 创建一个新的map
let mut animal_sounds: TypedMap = TypedMap::new();
// 插入数据
animal_sounds.insert(Dog { name: "Spiky".into() }, Bark { volume: 80 });
animal_sounds.insert(Cat { name: "Spot".into() }, Mew { pitch: 12000.0 });
// 获取Dog key的值Bark.
let spiky_volume = animal_sounds.get(&Dog { name: "Spiky".into() }).unwrap().volume;
assert_eq!(spiky_volume, 80);
StereoKit是一个易于使用的开源虚拟现实库,专为创建 VR、AR 和 XR 体验而设计。
fn basic() {
let sk = crate::SettingsBuilder::new()
.app_name("StereoKit Example App")
.init()
.unwrap();
let model = sk.model_create_mesh(crate::Mesh::CUBE, crate::Material::DEFAULT);
let mut position = glam::Vec3::default();
let mut redness = 0.0;
sk.run(|sk| {
position.x = sk.time_total_f32().sin();
position.y = sk.time_total_f32().cos();
redness = sk.time_total_f32().sin() - 0.3;
sk.model_draw(
&model,
glam::Mat4::from_scale_rotation_translation(
glam::Vec3::new(1.0, 1.0, 1.0),
glam::Quat::IDENTITY,
position,
),
crate::Color128::new(redness, 0.1, 0.9, 1.0),
crate::RenderLayer::default(),
);
}, |_| {});
}
proquint 是一种可读的五个字母的字符串,用于编码唯一的 16 位整数。
use std::net::Ipv4Addr;
use proqnt::{FromProquints, IntoProquints, Proquint};
assert_eq!(
format!("{}", Ipv4Addr::new(127, 0, 0, 1).proquint_encode()),
"lusab-babad"
);
assert!(
Ipv4Addr::new(127, 0, 0, 1).proquint_digits().eq([
u16::parse_proquints("lusab").unwrap(),
u16::parse_proquints("babad").unwrap()
].into_iter())
);
assert_eq!(
format!("{}", [127u8, 0, 0, 1].proquint_encode()),
"lusab-babad"
);
assert!(
Ipv4Addr::new(127, 0, 0, 1).proquint_encode().into_iter().eq([
"lusab".parse::<Proquint>().unwrap(),
"babad".parse::<Proquint>().unwrap()
].into_iter())
);
原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。