说我在锡兰有这个枚举:
abstract class Suit()
of hearts | diamonds | clubs | spades {}
object hearts extends Suit() {}
object diamonds extends Suit() {}
object clubs extends Suit() {}
object spades extends Suit() {}
我想迭代这些值。在Java中,我会做Suit.values()
。锡兰有类似的东西吗?
我试图将它定义为我自己,但这不起作用,因为锡兰没有静态成员?我应该在顶层定义:
Suit[4] suites= [hearts, diamonds, clubs, spades];
答案 0 :(得分:2)
for (suit in `Suit`.caseValues) {
// ...
}
注意:由于这使用了元模型,因此速度有点慢 - 当然不如Enum.values()
快。如果你要经常使用它,请缓存结果。