gpt4 book ai didi

ceylon - 迭代枚举类实例

转载 作者:行者123 更新时间:2023-12-02 01:39:32 24 4
gpt4 key购买 nike

是否有一种简单的方法可以迭代 Ceylon 中类的所有枚举实例?

就像 Java 枚举的 values() 一样?

abstract class Suit() of hearts | diamonds | clubs | spades {
shared formal String name;
}
object spades extends Suit() { name => "Spades"; }
object clubs extends Suit() { name => "Clubs"; }
object diamonds extends Suit() { name => "Diamonds"; }
object hearts extends Suit() { name => "Hearts"; }

假设我想随机选择一套西装,或者我想按名称打印所有西装。

编辑:

将所有花色显式添加到可迭代中是可行的,但我们必须再次列出所有可能的值。

{Suit+} suits = {spades, clubs, diamonds, hearts};

有人能想出更好的办法吗?

最佳答案

现在可以使用 ClassOrInterface.caseValues 来完成此操作:

Suit[] suits = `Suit`.caseValues;

关于returned sequence :

This sequence is ordered and skips any case type to only include case values.

关于ceylon - 迭代枚举类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19402031/

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