let output_sorted: Vec<String> = four_digit_ouput
.iter()
.map(|tok| tok.chars().sorted().collect::<String>())
.collect();
let output = 0;
for (idx, digit) in output_sorted.enumerate() {
Run Code Online (Sandbox Code Playgroud)
当我尝试对字符串向量进行枚举 for 循环时,出现此错误:
let output_sorted: Vec<String> = four_digit_ouput
.iter()
.map(|tok| tok.chars().sorted().collect::<String>())
.collect();
let output = 0;
for (idx, digit) in output_sorted.enumerate() {
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?哪些特征边界不允许枚举?
当我完成 Advent of Code 2021 时,我有一个main.rs如下所示的文件:
// # Day 1\n if day1::is_complete() && print_complete || !day1::is_complete() {\n day1::part1();\n day1::part2();\n } else {\n println!("\xe2\x9c\x85 Day 1 finished!")\n }\n\n // # Day 2\n if day2::is_complete() && print_complete || !day2::is_complete() {\n day2::part1();\n day2::part2();\n } else {\n println!("\xe2\x9c\x85 Day 2 finished!")\n }\n\n...\nRun Code Online (Sandbox Code Playgroud)\n这将持续 25 天。
\npart1每个模块都有一个名为和的函数part2。
有没有办法对像 python 这样的更简洁的文件执行类似的操作eval?
for day in 1..=25 {\n let mod_name = convert_to_mod_name(day);\n if mod_name::is_complete() && print_complete …Run Code Online (Sandbox Code Playgroud) 我觉得这个问题可能需要一个简单的特征注释,但我被困住了。我想在程序的其他部分创建这些结构的克隆。
use std::collections::HashMap;
#[derive(Debug, Copy, Clone)]
struct NodeMap {
map: HashMap<usize, Node>,
}
#[derive(Debug, Copy, Clone)]
struct Node {
destinations: Vec<usize>,
visits_left: usize,
}
Run Code Online (Sandbox Code Playgroud)
一切都应该是可克隆的。但它说Vec<usize>也不HashMap<usize, Node>是不执行Copy。我一定错过了一些东西,因为这似乎不应该成为问题。