针对较新的 nightlies 重新编译一些较旧的代码,我收到有关使用 as_slice()
语法以支持 var[]
语法的警告。
然而,当我将 as_slice()
替换为 []
时,如图 in the RFC ,我收到编译器错误提示:
expected `&str`,
found `str`
(expected &-ptr,
found str) [E0308]
src/main.rs:38 print_usage(program[], opts);
与我原来的相比
print_usage(program.as_slice(), opts);
as_slice()
语法是完全消失了,还是将它写成 vec[]
更符合习惯?当我按照编译器要求我做的事情时遇到的错误是怎么回事?
最佳答案
你离成功不远了:
print_usage(&program[], opts);
是的,现在我们应该使用方括号语法作为 &[start .. end]
或 &mut [start .. end]
而不是 as_slice
/slice
/slice_from
/slice_to
.
关于syntax - 如何从 as_slice() 更改为 [] 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28554366/