Скала отражение на объекте - PullRequest
0 голосов
/ 20 октября 2011

Если у меня есть следующий объект scala:

object CustomerState {
   val PENDING = "pending"
   val TRIAL = "trial"
   val PAYING = "paying"
   val DEACTIVATED_TRIAL = "deactivated_trial"
   val DEACTIVATED_PAYING = "deactivated_paying"
}

Как я могу получить список всех значений val?В этом случае я хочу получить список ("в ожидании", "пробная версия", "оплата", "deactivation_trial", "deactivation_paying")

Заранее спасибо, Тодд

Ответы [ 2 ]

3 голосов
/ 20 октября 2011

В настоящий момент я думаю, что лучшее, что вы можете сделать, - это получить список всех методов с нулевым аргументом (поскольку это то, для чего val s скомпилированы) и вызвать их:в 2.10 будет библиотека отражений для Scala, которая улучшит ситуацию.

3 голосов
/ 20 октября 2011

Разве вы не должны использовать Enumeration?

Пример:

object Main extends Application {

   object CustomerState extends Enumeration {
     type CustomerState = Value
     val Pending, Trial, Paying, Deactivated = Value
   }

   import CustomerState._

   CustomerState.values foreach println // Will print each value
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...