2次发布
0.1.1 | 2022年1月22日 |
---|---|
0.1.0 | 2022年1月22日 |
#901 in 嵌入式开发
5KB
是什么
非常简单,是core::mem::swap的n个参数扩展。
动机
为了在LeetCode上做一个链表问题而编写的。
用法
将以下内容添加到您的Cargo.toml中
swap-n = "0.1"
使用#[macro_use] extern crate swap_n;
或对于较新版本,直接调用swap_n::swap_n
或通过use swap_n::swap_n;
示例
use swap_n::swap_n;
fn main() {
let mut x = std::boxed::Box::new(1);
let mut y = std::boxed::Box::new(2);
let mut z = std::boxed::Box::new(3);
let mut w = std::boxed::Box::new(4);
println!("The old values of x, y, z, w: {} {} {} {}", *x, *y, *z, *w);
swap_n!(&mut x, &mut y, &mut z, &mut w);
println!("The new values of x, y, z, w: {} {} {} {}", *x, *y, *z, *w);
}
许可证
MIT许可证
lib.rs
:
宏扩展core::mem::swap到n个元素
示例用法
// #[macro_use] extern crate swap_n;
use swap_n::swap_n;
let mut x = 1;
let mut y = 2;
let mut z = 3;
swap_n!(&mut x, &mut y, &mut z);
失败示例
use swap_n::swap_n;
let mut x = 1;
swap_n!(&mut x);
use swap_n::swap_n;
let mut x = 1;
swap_n!(x);
use swap_n::swap_n;
let mut x = 1;
let mut y = 1.0;
swap_n!(&mut x, &mut y);