小编Con*_* Wu的帖子

什么是单行解决方案来获取切片中除最后一项之外的所有内容而不使用最后一项的索引?

在 Python 中,我可以这样做:

a = [1,2,3]
b = a[:-1] #1,2
Run Code Online (Sandbox Code Playgroud)

Rust 具有获取数组范围切片的语法,您可以在其中提供最后一个索引,不包含:

let a = vec![1, 2, 3];
let b = &a[0..2]; // [1, 2]
Run Code Online (Sandbox Code Playgroud)

如果我使用-1,它会导致编译器错误:

let a = vec![1, 2, 3];
let b = &a[0..-1];
Run Code Online (Sandbox Code Playgroud)
error[E0277]: the trait bound `usize: std::ops::Neg` is not satisfied
 --> src/lib.rs:3:19
  |
3 |     let b = &a[0..-1];
  |                   ^^ the trait `std::ops::Neg` is not implemented for `usize`
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

例子 :

我想
在 python 中将"x1::x2::x3::...::xn" 转换为 "x1::x2::x3::...xn-1"单行解决方案应该是

case_1 = "a::b::c"; …
Run Code Online (Sandbox Code Playgroud)

arrays slice rust

4
推荐指数
2
解决办法
2412
查看次数

标签 统计

arrays ×1

rust ×1

slice ×1