AS
Size: a a a
AS
AS
Oℕ
Oℕ
AS
Oℕ
AS
Oℕ
Oℕ
AS
AS
Oℕ
AS
Oℕ
AS
AS
VS
read[T](s: String): T
которая парсит из строки значение типа T
. Т.к. нужна типобезопасность, то добавляю имплиситный декодер: read[T](s: String)(implicit decoder: String => T): T
ну и понятно, если декодер определен для T
то все хорошо.def decodeStringEnum[T <: StringEnumEntry: StringEnum](s: String): T =
implicitly[StringEnum[T]].withValue(s)
г
только вот так:l theChoice = TheReader.read[Choice]("SECOND")(StringCodecs.decodeStringEnum[Choice])Вот здесь сделал пример, для наглядности с Int и с енамом, Int - это то как хочется для енамов....
// Choice - это enumeratum енам
M
read[T](s: String): T
которая парсит из строки значение типа T
. Т.к. нужна типобезопасность, то добавляю имплиситный декодер: read[T](s: String)(implicit decoder: String => T): T
ну и понятно, если декодер определен для T
то все хорошо.def decodeStringEnum[T <: StringEnumEntry: StringEnum](s: String): T =
implicitly[StringEnum[T]].withValue(s)
г
только вот так:l theChoice = TheReader.read[Choice]("SECOND")(StringCodecs.decodeStringEnum[Choice])Вот здесь сделал пример, для наглядности с Int и с енамом, Int - это то как хочется для енамов....
// Choice - это enumeratum енам
VS