Tout d'abord, ce n'est pas un double de Enums in Ruby :)avancée énumérations Java comme dans Ruby
La réponse acceptée de cette question suggère cela comme une bonne façon de représenter les énumérations dans Ruby:
class Foo
BAR = 1
BAZ = 2
BIZ = 4
end
En Java, il est possible d'associer plusieurs valeurs et méthodes à une valeur enum. Je veux faire la même chose ou quelque chose de similaire dans Ruby.
Quel serait le plus Ruby comme façon de représenter ce enum Java:
public enum Enum
VALUE_1("Value 1"),
VALUE_2("Value 2"),
VALUE_3("Value 3");
Enum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
private String value;
}
EDIT:
Je veux aussi garder les caractéristiques implicites de Java énumérations:
- ... récupérer la valeur ordinale
- ... appeler des méthodes sur les valeurs enum (ou quelque chose équivalent)
Exemples:
Enum.VALUE_1.getValue(); // "Value 1"
Enum.VALUE_2.name(); // "VALUE_2"
Enum.VALUE_3.ordinal(); // 2
Vous devez supprimer le modificateur 'public' sur le constructeur pour le compiler. –
Fait, merci. –