【发布时间】:2017-02-14 13:47:08
【问题描述】:
我一直在尝试使用 YAML,因为我喜欢它的可读性。
但是,我对放入组件/处理组合的最佳方式感到有些困惑。
假设我有这个作为我想要复制的类:
basicai = aggressiveAI()
fightercomponent = fighter(strength=10, dexterity=5, death=dramaticdeath())
orc = Object(name='orc', hp=100, fighter=fightercomponent, ai=basicai)
在 YAML 中执行此类操作的最佳方法是什么?
大多数情况下,我不希望得到一长串特别命名的组件对象和主要对象都散开的列表。
【问题讨论】:
-
所以你正在创建一个
orc并将一个我们不知道的变量的值分配给fighter,然后你改变那个变量的值......你想要什么用那个显示?您的代码令人困惑。 -
另外,您的 YAML 代码无效,无助于演示您想要做什么。
aggressiveAI()似乎是一个电话,它在 YAML 数据中有什么作用?=不是 YAML 中的特殊字符,您可能希望拥有:。 -
抱歉,为了清楚起见,我对其进行了一些编辑 - YAML 数据只是我试图实现的那种类型的一些伪代码。虽然 = 在 YAML 代码中对我来说似乎工作得很好。
-
那么代码第一行中
fightercomponent和basicai的值是多少?为什么之后要更改该值?还有,aggressiveAI()和dramaticdeath()的定义是什么? -
啊,愚蠢的错误,我将它们设置在之后而不是之前。 AggressiveAI() 只是一个设置怪物应该做什么的类和其他一些类位,而 Dramadeath() 只是一个向玩家发送一些消息的函数
标签: python yaml composition