Есть ли менее запутанный способ найти предшественника и преемника перечислимого значения?Предшественник и преемник значения перечисления в Scala
object E extends Enumeration {
val W, X, Y, Z = Value
}
def succ(a: E.Value) : E.Value = {
val arr = E.values.toArray
return arr(a.id + 1)
}
scala> succ(E.W)
res17: E.Value = X
scala> succ(E.Y)
res18: E.Value = Z
@RichardSitze - 'maxId' является эксклюзивным, а не инклюзивным. Попробуйте - это работает так, как написано. (Я мог бы использовать '==' вместо '> =' и '<=' соответственно.) (И для бонусных очков: если вы догадались, что есть ошибка, связанная с этим с «Value (Int.MaxValue)», вы 'd be right.) –
@RichardSitze - Нет. Попробуйте. 'maxId' неверно названо; его следует называть 'nIds', потому что, как я уже сказал, _it является исключительной границей. То есть у вас есть 'id' to _but not including_ 'maxId'. –
Получил это. ти. Неверное имя и ошибочные документы. –