小编Bie*_*ela的帖子

在结构中存储&str时,"缺少生命周期说明符"是什么意思?

我正在尝试编写类似Excel的数据结构:

use std::collections::HashMap;

struct Excel {
    columns: HashMap<&str, Vec<f64>>,
}

fn main() {}
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

error[E0106]: missing lifetime specifier
 --> src/main.rs:4:22
  |
4 |     columns: HashMap<&str, Vec<f64>>,
  |                      ^ expected lifetime parameter
Run Code Online (Sandbox Code Playgroud)

有人可以帮我理解发生了什么吗?

rust

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

如何迭代这个树/图

我需要迭代树/图并产生一定的输出,但遵循一些规则:

     _ d
   /  / \
  b  c  _e
 /     / |
a     f  g
Run Code Online (Sandbox Code Playgroud)

预期的输出应该是(顺序不相关):

{'bde', 'bcde', 'abde', 'abcde', 'bdfe', 'bdfge', 'abdfe', ...}
Run Code Online (Sandbox Code Playgroud)

规则是:

  1. 树'bde'的顶部(leftmost_root_children + root + rightmost_root_children)应始终存在
  2. 应该保留左右顺序,例如,不允许组合'cb'或'gf'.
  3. 所有路径都遵循从左到右的方向.

我需要找到遵循这些规则的所有路径.不幸的是,我没有CS背景,我的脑袋正在爆炸.任何提示都会有所帮助.

编辑:这个结构非常接近我的树:

class N():
    """Node"""
    def __init__(self, name, lefts, rights):
        self.name = name
        self.lefts = lefts
        self.rights = rights

tree = N('d', [N('b', [N('a', [], [])], []), N('c', [], [])], 
              [N('e', [N('f', [], []), N('g', [], [])], 
                      [])])
Run Code Online (Sandbox Code Playgroud)

或者可能更具可读性:

N('d', lefts =[N('b', lefts=[N('a', [], [])], rights=[]), N('c', [], …
Run Code Online (Sandbox Code Playgroud)

python tree

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

动态推断字符串的类型

这里生锈新手.在给定字符串的情况下动态推断最可能类型的最佳方法是什么?我试图编写一个函数,给定一个字符串返回最可能的类型,但我不知道从哪里开始.在Python中我可能会使用一个try-except块.这是我期望的:

"4" -> u32 (or u64)
"askdjf" -> String
"3.2" -> f64
Run Code Online (Sandbox Code Playgroud)

等等?我知道有些字符串可以分配给几种可能的类型,所以问题没有明确定义,但我只对如何有效地解决问题的一般理念感兴趣.

rust

3
推荐指数
2
解决办法
118
查看次数

错误时打印当前预期路径

这里生锈新手.我正在尝试打开一个文件:

let file = File::open("file.txt").unwrap();
Run Code Online (Sandbox Code Playgroud)

由于我的构建设置,它看起来像我的二进制和txt不是我期望它或我做错了所以我得到一个:

thread '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: Error { repr: Os { code: 2, message: "No such file or directory" } }', ../src/libcore/result.rs:736
Run Code Online (Sandbox Code Playgroud)

错误消息没有说明txt必须存在的预期路径应该是什么,以便我的程序和测试看到它.如何打印此预期路径?我想打印一条消息,如:

The file "/expected/folder/file.txt" does not exist
Run Code Online (Sandbox Code Playgroud)

rust

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

标签 统计

rust ×3

python ×1

tree ×1