如何从 as_slice() 更改为 [] 语法?
How do I change from as_slice() to [] syntax?
针对较新的 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
.
针对较新的 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
.