- Rust part8
393 :デフォルトの名無しさん[]:2020/04/06(月) 00:16:34.72 ID:WU94L+3C - 配列サイズが決められてないかつ、関数内で配列生成するけど返り値はサイズ固定のスライス記法の書き方するようにする方法ってない?
つまりはVecのアロケートが嫌な場合 fn name(v: Vec<A>) -> Vec<A> { v.iter().map(***).collect } これだとスタック確保できるけど無駄なデータ入ってるし、動的なサイズの配列を返せない fn name(v: Vec<A>) -> [i32; 10] { let mut arr = [0; 10]; for (i, x) in v { arr[i] = x} arr } こういうスライスのスタック版みたいな感じのことがしたい fn name(v: Vec<A>) -> [A] { let mut arr = [0; v.len()]; for (i, x) in v { arr[i] = x} arr }
|