项目签名的类型中不允许使用类型占位符“_”
The type placeholder `_` is not allowed within types on item signatures
初学者问题;并且搜索找不到任何类似的东西。
背景:我只是通过制作一个洗牌函数来练习Rust中的函数。程序接受任何参数并将它们洗牌并将它们存储在'result
'
中
问题: 我想我不能在函数头中使用 V<_>
那么在这种情况下我会用什么?
MCVE:
use std::io;
use std::cmp::Ordering;
use std::env;
fn main()
{
let mut result = shuffle(env::args().collect());
}//End of main
fn shuffle(args: Vec<_>) -> Vec<_>
{
let mut temp = Vec::with_capacity((args.capacity()));
while args.len() > 1
{
//LET N REPRESENT A RANDOM NUMBER GENERATED ON EACH ITERATION
let mut n = 2;
temp.push(args.swap_remove(n));
}
return temp;
}//End of shuffle function
您可以将您的函数转换为通用函数:
fn shuffle<T>(args: Vec<T>) -> Vec<T> {
在婴儿围栏中看到它:http://is.gd/MCCxal
初学者问题;并且搜索找不到任何类似的东西。
背景:我只是通过制作一个洗牌函数来练习Rust中的函数。程序接受任何参数并将它们洗牌并将它们存储在'result
'
问题: 我想我不能在函数头中使用 V<_>
那么在这种情况下我会用什么?
MCVE:
use std::io;
use std::cmp::Ordering;
use std::env;
fn main()
{
let mut result = shuffle(env::args().collect());
}//End of main
fn shuffle(args: Vec<_>) -> Vec<_>
{
let mut temp = Vec::with_capacity((args.capacity()));
while args.len() > 1
{
//LET N REPRESENT A RANDOM NUMBER GENERATED ON EACH ITERATION
let mut n = 2;
temp.push(args.swap_remove(n));
}
return temp;
}//End of shuffle function
您可以将您的函数转换为通用函数:
fn shuffle<T>(args: Vec<T>) -> Vec<T> {
在婴儿围栏中看到它:http://is.gd/MCCxal