数组的JavaScript传播运算符的Rust等效项是什么?

时间:2019-02-09 15:04:17

标签: arrays vector rust

在JavaScript中,有一个称为散布运算符的运算符,可让您非常简洁地组合数组。

let x = [3, 4];
let y = [5, ...x]; // y is [5, 3, 4]

有没有办法在Rust中做这样的事情?

3 个答案:

答案 0 :(得分:4)

Rust's arrays have a fixed length,因此无法将它们组合在一起;获得此结果的通常方法是具有可变的向量,并使用切片来extend it

fn main() {
    let x = [3, 4];
    let mut y = vec![5];
    y.extend_from_slice(&x);

    println!("{:?}", y); // [5, 3, 4]
}

答案 1 :(得分:2)

如果您只需要Date.prototype.getWeekDay = () => { const weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; return weekday[this.getDay()]; } 可以迭代,则可以执行以下操作:

y

如果您需要它可索引,则需要将其收集到向量中。

let x = [3,4];
let y = [5].iter().chain(&x);

答案 2 :(得分:-3)

否,但是也许您可以尝试制作类似于vec!

的宏