1个不稳定版本

0.1.0 2019年11月8日

#1910 in 数据结构

MIT 许可证

5KB

svec

Svec 允许您在 Rust 中创建美丽且易于阅读的 Dart 风格列表。

如果您在 Rust 中创建一个列表,您可能正在使用 vec

// a list
let row = vec![
	Elem::IconButton("hamburger"),
	Elem::Space,
	Elem::IconButton("info"),
	Elem::IconButton("profile")
];

svec 允许您执行所有可以用 vec 执行的操作,但它还增加了 "集合 if" 和 "集合 for"。

// a list with svec
let row = svec![
	Elem::IconButton("hamburger"),
	Elem::Space,
	Elem::IconButton("info"),
	Elem::IconButton("profile"),
	if isLiteVersion { Elem::IconButton("store") }
];

这是一个 "集合 for" 的示例。

// a list with vec + svec
let row = vec![
	Elem::IconButton("hamburger"),
	Elem::Space,
	Elem::IconButton("info"),
	Elem::IconButton("profile"),
	Elem::MenuBar(svec![
		for friend in friends.take(3) { Elem::MenuItem(friend) },
		Elem::MenuItem("All friends"),
		Elem::MenuItem("All people"),
	])
];

在项目中使用 svec 非常简单。

  1. svec = 0.1.0 添加到您的 Cargo.toml 中。
  2. 添加 use svec::*

依赖关系

~1.5MB
~33K SLoC