A DisjointSet is a kind of Object.
A DisjointSet is a part of every DisjointSet.
尝试在 Inform 7 中启动 DisjointSet 对象,但即使我知道它可能会导致无限循环,我还是想这样做,原因很明显,它是算法的一部分。
这是错误
你写了“A DisjointSet is a part of each DisjointSet”:但是这种概括太危险了,因为它会导致组装过程中的无限倒退。有时,如果您使用诸如“每个容器中都有一个容器”之类的文本设置问题,就会发生这种情况。
我想在 Inform 6 中做这样的事情会更容易,但我对此一无所知,所以我试图避免它。但也会接受 Inform 6 中的帮助。
编辑以下@jeroen-mostert 建议:
也许我做错了,但也许一些示例代码可能会有所帮助。
A DisjointSet is a kind of Container.
A DisjointSet always contains a DisjointSet called the Parent.
The First Decl is a DisjointSet.
The Second Decl is a DisjointSet.
The Parent of the First Decl is the Second Decl. [This line doesn't work.]
'The Parent of the First Decl is the Second Decl' 这句话
似乎说两件事是一样的 - 我正在阅读 'Parent of the First Decl' 和 'Second Decl' 作为两个不同的东西,因此没有意义说一个是另一个:这就像说“圣彼得就是圣保罗”。如果第二件事是一个种类的名称,也许还有属性,那就没问题了:例如,“Pearly Gates is a lighted room”说存在一种叫做 Pearly Gates 的东西,它是一个“房间”,它是一种我知道,再加上我也知道的一个名为“lighted”的属性。