Всем привет. Могу ли я как-то изменить/добавить значение в Enum во время компиляции?
Maxim724
22 уровень
Изменить Enum во время компиляции
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Стас Пасинков Software Developer в Zipy Master
18 июня 2020, 23:24
а какую задачу/проблему пытаетесь решить таким способом вообще?
возможно подойдет паттерн decorator
0
Maxim724 Java Developer
18 июня 2020, 23:33
"для саморазвития"
0
Стас Пасинков Software Developer в Zipy Master
18 июня 2020, 23:41
ааа, ну тогда да, как вам уже предлагали - попробуйте рефлексию)
но осторожно, это темная сторона силы...)
0
Justinian Judge в Mega City One Master
18 июня 2020, 19:05
можно во время компиляции, можно в рантайме. А зачем?
Энам не для того придумывали.
0
Justinian Judge в Mega City One Master
18 июня 2020, 21:16
Способов на самом деле много, но это все из серии, что я называю, эстрадно-цирковые трюки. Разве что в цирке показывать.
По каким запросам искала в интернете?
0
Justinian Judge в Mega City One Master
18 июня 2020, 23:05
Для программиста, гугление очень важный скилл.
Гуглить нужно руководствуясь двумя принципами:
1. Гуглить эффективно, это буквально за один запрос, ну максимум два находить сразу же то что нужно.
2. Быстро обрабатывать информацию. То есть быстро отметать то, что не подходит, быстро определять то, что подходит.
Ключевой фактор, это запрос.
Представь что у тебя есть текстовый файл на тысячу строк. Допустим Три мушкетера Алехандро Дюма.
И ты хочешь найти к примеру сцену Д'Артаньян к примеру ругается, в т.ч. словом каналья, хотя говорят в оригинале такого нет, лишь эпизодически в переводе.
То что ты написала "How to change value in enum in runtime/compilation" применимо к данной аналогии, выльется в следующий запрос:
"Д'Артаньян ругается плохими словами в определенной сцене".
Когда ты запустишь полноконтекстный поиск, я думаю что у тебя будет:
0 найденных совпадений и ты закономерно ничего не найдешь.
А я бы искал другое, я бы ввел:
каналья или канальи
И естественно нашел бы эти сцены.
В чем же разница?
Разница принципиальная. Рассматривай гугль как огромный на триллионы строк файл.
in in to how - это все мимо кассы, гугль каждое слово обрабатывает по алгоритмам, и он тебе будет возвращать ссылки, где встретит in, to и how.
Ну например, возьмем твой запрос, мы получили результаты:
отбросим начальные и пролистаем дальше
Но я отвлекся, в чем принципиальная разница? Ты не должна думать с точки зрения себя.
Я, такой-то конкретный программист, сидящий на зеленом стуле в свете малинового заката ищу как где-то что-то сделать в чем-то может там.
Вся эта конкретика идет от тебя.
HOW TO это раздел гайдов и туториалов! А то что ты ищешь, как ты понимаешь это раздел фактически хаки. Ты просто сузила значительно выборку. +1
Justinian Judge в Mega City One Master
18 июня 2020, 23:16решение
А думать нужно визуализируя себе эту огромную на триллионы или квинтильоны или овермного строк базу данных, созданную вследствие индексации гугля.
И там лежит определенное знание. Как в примере с Д'Артаньяном, там лежит слово "каналья" (если проводим аналогию с романом).
И при гуглении, при формировании поискового запроса принципиально важно отталкиваться
НЕ ОТ ТОГО ЧТО НУЖНО ТЕБЕ, А ОТ ТОГО ЧТО ТЫ ХОЧЕШЬ НАЙТИ.
Это две огромные, принципиальные и диаметрально противоположные разницы.
Поэтому запрос HOW TO был бы валиден только в случае, если бы у тебя были основания предпологать, что где-то в интернете есть гайды или туториалы по тому, как "хакать" энамы. Но оснований делать подобные предположения я считаю, очень немного.
Может тебе и нужен туториал, но вспоминаем правило - мы все разные, нас миллиарды, мы по разному воспринимаем информацию.
Но если мы ищем что-то ИЗВНЕ от нас, контент который генерировали ДРУГИЕ, то мы не должны фокусироваться на нашем представлении. Мы должны представить как бы назвали этот контент, какие КЛЮЧЕВЫЕ СЛОВА могут быть в том контенте.
Это главное, фактически игра в угадайку. Мы должны визуализировать что мы хотим найти. Что там должно быть. И КАКИЕ КЛЮЧЕВЫЕ СЛОВА ТАМ МОГУТ БЫТЬ.
И собственно угадывать. Ключевые слова, совокупность которых будет давать минимальные шансы для гугля находить нам статьи по ассемблеру, тайпскрипту как было показано выше.
Никаких in, to, и прочих предлогов, если они не являются частью УНИКАЛЬНОГО словосочетания с нашей искомой доменной области.
Все это гораздо важнее создания экземпляра энама, изменения его значений и тд.
Гугление экономит программисту часы, сутки, недели, месяцы, его значение нельзя переоценить.
Я смутно представляю практическую пользу от первоначального вопроса, даже если на собесе спросят можно ли инстанциировать энам или поменять значения, на него нет правильного ответа. Сказать нет, так можно. Сказать да, так, почти же нельзя.
А вот гугль это альфа и омега программирования.
+4
Сергеев ВикторMaster
18 июня 2020, 19:03
Нет, ъотя может какими-то извразениями с рефдексией и получится, но зачем?
Енум это статическая штука, что-то типо констант, чтобы не повторятся.
+1