gpt4 book ai didi

rust - 有没有办法在不为其实现 RandCore 特性的情况下对元组切片进行洗牌?

转载 作者:行者123 更新时间:2023-12-03 11:41:43 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How do I create a Vec from a range and shuffle it?

(2 个回答)


去年关闭。




假设我有以下变量:

let mut n: &[((usize, usize), (usize, usize))];
我想对这个变量中的一些数据进行洗牌。我试过:
rng.shuffle(&mut n); // rng is of type rand::Rng
这当然会导致编译器错误,提示特征 RandCore没有为该类型实现。我真的不介意实现它,但我不想为我的代码中的那种类型的每个变体(例如 (usize, isize)((usize, isize), (usize, isize), (isize, usize)) 等)定义一个特征实现。
有没有另一种“自动”定义这个特征的方法(比如使用某种宏)?

最佳答案

你的论点是错误的。应该是 n.shuffle(&mut rng) . RandCore是 rng 的特征,而不是要改组的值。然后你应该找到 SliceRandom如果您使用它,则为所有切片实现。

关于rust - 有没有办法在不为其实现 RandCore 特性的情况下对元组切片进行洗牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63402646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com