gpt4 book ai didi

enums - 如何返回特定索引处的枚举字符串?

转载 作者:行者123 更新时间:2023-11-29 08:29:34 26 4
gpt4 key购买 nike

实现此目标的最简单方法是什么?

enum E {
A,
B,
C,
}

// Should return "A" for 0, "B" for 1 and "C" for 2
fn convert(i: u32) -> str {
// ???
}

最佳答案

你不能返回一个str,但是你可以返回一个&str。结合来自 How do I match enum values with an integer? 的想法和 Get enum as string :

#[macro_use]
extern crate strum_macros;
extern crate strum;

use strum::IntoEnumIterator;

#[derive(EnumIter, AsRefStr)]
enum E {
A,
B,
C,
}

fn main() {
let e = E::iter().nth(2);
assert_eq!(e.as_ref().map(|e| e.as_ref()), Some("C"));
}

关于enums - 如何返回特定索引处的枚举字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50332954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com