169 похожих чатов

Добря . как бы правильно сделать ? в модуле объявлены атрибуты: module

A do
@a 1
end

как грамотно сделать чтобы другие модули могли использовать их ? объявить функциями ? а еще что нить ? макросы ?

25 ответов

27 просмотров

Если ты хочешь такое делать, то ошибка где-то выше

Сергей-Loguntsov Автор вопроса
Lama Lover
Если ты хочешь такое делать, то ошибка где-то выше

хорошо а как правильно ? у меня общая логика которая вынесена отдельно и от этого модуля 2 модуля наследуются ... соотвественно там константы эти используются .. не буду же я их магическими делать в виде значений

Сергей Loguntsov
хорошо а как правильно ? у меня общая логика кото...

Если константа задается программистом, то Application.compile_env

Lama Lover
Если ты хочешь такое делать, то ошибка где-то выше

Почему, нормальная тема, объявить значения внутри модуля и везде переиспользовать

Сергей-Loguntsov Автор вопроса
Lama Lover
Если константа задается программистом, то Applicat...

и что мне теперь в этом глобальном пространстве всё юзать ? да нах надо

Если тебе нужны константы, которые получаются вызовом функции из модуля, то зачем тебе вообще аттрибуты модуля?

Сергей-Loguntsov Автор вопроса
Андрей
Если тебе нужны константы, которые получаются вызо...

атрибуты не цель, цель сделать красиво. как то пихать константы в функции —- ну понятно что в эликсирах\эрлангах не завезли константы .. но может есть способ лучше ?

Сергей Loguntsov
чего сломаю ?

Ну вот у тебя либо будет функция, которая возвращает константу, либо у тебя будет макрос Если функция, то ты можешь словить дедлок в компиляции Если макрос, то у тебя не будет перекомпилироваться модуль, там где ты использовал эту константу (при изменении аттрибута в оригинальном модуле)

Сергей Loguntsov
атрибуты не цель, цель сделать красиво. как то пих...

Там не констант, вообще, и нет, если не считать хаков с процессами. Я не понял, что ты имеешь в виду.

Сергей-Loguntsov Автор вопроса
Андрей
Там не констант, вообще, и нет, если не считать ха...

в эрланге я пишу #define(MY_CONSTANT,1). и потом подключаю этот файлик где надо .. и теперь использую ?MY_CONSTANT.

Сергей Loguntsov
в эрланге я пишу #define(MY_CONSTANT,1). и потом п...

Так, но тут ведь ты его дефайнишь ручками А зачем ты в эликсире это через аттрибут хочешь сделать?

Lama Lover
Ну вот у тебя либо будет функция, которая возвраща...

А как у тебя дедлок получится? Там же B и C использует A, в котором константы объявлены, если я правильно понял идею.

Сергей-Loguntsov Автор вопроса
Lama Lover
Так, но тут ведь ты его дефайнишь ручками А зачем ...

не хочу я через атрибут, я хочу не использовать магические значения.

Андрей
А как у тебя дедлок получится? Там же B и C исполь...

Ну а потом A использует константу из B или C

Сергей Loguntsov
не хочу я через атрибут, я хочу не использовать ма...

Что значит "магические значения"? Ты вообще о чём?

Сергей-Loguntsov Автор вопроса
Lama Lover
Ну а потом A использует константу из B или C

бред какой-то, такого в условии не было

Сергей Loguntsov
бред какой-то, такого в условии не было

Но ты не можешь гарантировать что такого не будет потом

Lama Lover
Ну а потом A использует константу из B или C

Такого в изначальной постановке не было, вроде. Типа есть общий, а остальные используют.

Сергей Loguntsov
не хочу я через атрибут, я хочу не использовать ма...

Просто у тебя будут функции за константы. И никаких магических чисел в логике нет.

Сергей-Loguntsov Автор вопроса
Lama Lover
Что значит "магические значения"? Ты вообще о чём?

согласить плохой тон писать просто 1. или 2 .. или 3 .. ? что это значит ? а если я буду писать @choice1, @choice2, @choice3 — то это лучше

Сергей Loguntsov
согласить плохой тон писать просто 1. или 2 .. или...

А вот этот пример выглядит так, будто тебе лучше подошли просто атомы.

Сергей-Loguntsov Автор вопроса
Андрей
А вот этот пример выглядит так, будто тебе лучше п...

Да подошли бы. Но мне сверху спустили такой интерфейс

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта