我是 Rust 的初学者。我正在尝试使用BitVec库来表示位数组。我开始通过附加 0 或 1 的序列来使用它,但我在这样做时遇到了一些问题。当我附加一个 x 0序列然后是一个 y 1 序列时,它所做的是附加 x+y 零。请注意,如果我之前只附加 1 而未附加 0,则它可以工作。这是我的代码:
extern crate bit_vec;
use bit_vec::BitVec;
fn main(){
let mut bits = BitVec::new(); // creates an empty array of bits
append_zero(&mut bits);
append_one(&mut bits);
append_zero(&mut bits);
append_one(&mut bits);
append_one(&mut bits); // everything works perfectly till here
append_n_ones(&mut bits, 2); // this works
append_n_zeroes(&mut bits, 3); // this too
append_n_ones(&mut bits, 2); // this appends 2 zeroes instead!
println!("{:?}", bits);
} …Run Code Online (Sandbox Code Playgroud)