首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >求结构动态的惯用方法

求结构动态的惯用方法
EN

Stack Overflow用户
提问于 2022-01-22 18:51:23
回答 1查看 71关注 0票数 0

我有这样的结构:

代码语言:javascript
复制
struct TeddyBear {
    mood: Option<Box<dyn Mood>>,
}

“心情”是一个trait。现在有两种可能的情绪:“struct”和"Sleepy",它们实现了trait。我起草了一个操场范例这里

我正在努力学习最好的方法来获得泰迪熊目前的情绪在不同的时间在程序中。

我所做的就是返回特定于每个心情的字符串值,但感觉有点不好受。值的enum可能也会起作用,但我必须记住每次添加新的情绪时都要添加。我想知道是否有一种直接使用“快乐”或“睡眠”的方法。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-01-22 21:15:23

你可以有一个枚举:

代码语言:javascript
复制
enum MoodKind {
    Happy,
    Sleepy,
}

还有一种方法:

代码语言:javascript
复制
trait Mood {
    fn mood_kind() -> MoodKind;
}

但我必须记住,每次添加新的情绪时,我都要加进去。

为了避免每次都以正确的方式实现这一点,必须使用自定义派生属性。铁锈没有内置运行时反射。将这个答案作为指针引用。

这不是小事,所以要三思而后行。也许情绪的数量不是很大,你可以手动维持吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70816050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档