小编Moo*_*old的帖子

类型“&[u8]”无法通过“usize”索引?

以下是测试代码:

pub fn reverse_complement_seq_u8<T>(seq: T, len: usize) -> Vec<u8> 
    where T: std::ops::Index<usize, Output = u8>
{
    (0..len).rev().map(|i| match seq[i] {
            65 | 97  => 84, // 'A' | 'a' => 'T'
            84 | 116 => 65, // 'T' | 't' => 'A'
            71 | 103 => 67, // 'G' | 'g' => 'C'
            67 | 99  => 71, // 'C' | 'c' => 'G'
            n => n,
        } 
    ).collect()
}


fn main() {
    let seqs = "ACGATGCTACGA".as_bytes();//generated by another function …
Run Code Online (Sandbox Code Playgroud)

rust

2
推荐指数
1
解决办法
636
查看次数

无法从哈希映射中借用可变的值,因为它也借用为不可变的

我想同时从哈希图中获取两个值,但我无法逃避以下错误,我已将代码简化如下,任何人都可以帮助我修复此错误。

#[warn(unused_variables)]
use hashbrown::HashMap;

fn do_cal(a: &[usize], b: &[usize]) -> usize {
    a.iter().sum::<usize>() + b.iter().sum::<usize>()
}

fn do_check(i: usize, j:usize) -> bool {
    i/2 < j - 10
}

fn do_expensive_cal(i: usize) -> Vec<usize> {
    vec![i,i,i]
}

fn main() {
    let size = 1000000;
    let mut hash: HashMap<usize, Vec<usize>> = HashMap::new();
    for i in 0..size{
        if i > 0 {
            hash.remove(&(i - 1));
        }
        
        if !hash.contains_key(&i){
            hash.insert(i, do_expensive_cal(i));
        }
        let data1 = hash.get(&i).unwrap();
    
        for j in i + 1..size { …
Run Code Online (Sandbox Code Playgroud)

hashmap rust

1
推荐指数
1
解决办法
1520
查看次数

标签 统计

rust ×2

hashmap ×1