Tishka17
Передавай
🍁 Jaŭhien
автор сука
Может, ты не так его понял?
Tishka17
Не делай что бы она сама его брала
Туночка️
ну в либе у меня TOKEN = '' а в main lib.TOKEN = ' типа токен'
Туночка️
и вроде пашет
Tishka17
Мда
Tishka17
Глобальные переменные, удобно
Tishka17
Неконтролируемый жизненный цикл - это же так круто
Туночка️
какой цикл?
🍁 Jaŭhien
Зачем тебе такая кривая либа когда ровных полно?
Tishka17
какой цикл?
Жизненный. Вот ты поменял токен, а вдруг его старое значение кто-то уже юзает
Tishka17
кто?
Код в либе
Туночка️
Код в либе
у меня там две функции
Туночка️
и обе юзают
Tishka17
Ну я и говорю
Tishka17
Глобальные переменные допустимы только в одном случае - если они константы. Если у тебя хоть где-то они меняются после создания, это уже говнокод
Туночка️
токен можно считать константой
Tishka17
Нельзя
Туночка️
че?
Туночка️
он всегда один и тот же
Prunkles
Глобальные переменные допустимы только в одном случае - если они константы. Если у тебя хоть где-то они меняются после создания, это уже говнокод
Не, ну бывают случаи, когда глобальная переменная может отвечать некоторое глобальная состояние программы, а-ля синглтон, но и такое тоже редко рекомендуется
Tishka17
Сделай такой код. file.py: from lib import token def debug(): print(token) main.py: ... lib.token="xxx" file.debug()
Tishka17
он всегда один и тот же
Не всегда. Если момент до того как ты в мейне его присвоил, когда он другой
Tishka17
У тебя у токен два значения: дефолтное и то, которое ты туда записал.
Tishka17
Он уже не константа
Tishka17
Выше пример, на котором все сломается
Prunkles
Но он же может сделать отдельный файл, куда будет записывать токен, типа конфигурационный файл. И вот тебе константа
fs
супер, я так же раньше делал =)
я когда это увидел, думал что это кто то такой план себе сделал, а потом как дошло что это рабочий код ваще в осадок выпал...=)
Tishka17
понять бы что это делает
Ну ожидается, что функция debug будет выводить токен. Но она не будет этого делать, она будет выводить дефолтное значение
Туночка️
Туночка️
их полно
Tishka17
Ну а почему нельзя взять нормальную либу?
Prunkles
Эм, конфигурационные данные обычно не в коде, а грузятся из внешнего файла
Я где-то видел, что делают подобные конфиги-куски кода
Tishka17
Я где-то видел, что делают подобные конфиги-куски кода
Ага. В результате имеем небозопасный код и сильную связность разных модулей программы от одного файла.
Tishka17
потому что я лох
Скажи хоть название этой кривой штуки, запишу, буду всех отговаривать
Туночка️
ты про мою либу?
Tishka17
А, ты сам написал либу?
Туночка️
Я не собираюсь ее заливать
Tishka17
Так напиши нормально
Туночка️
Так напиши нормально
я только начал
Tishka17
Я думал ты взял готовое говно
Tishka17
А ты его сам делаешь
Tishka17
Ну так не юзай глобальные переменные
Туночка️
Ну так не юзай глобальные переменные
а как мне токен запихнуть
Tishka17
Сделай блин класс, в который ты будешь его при создании передавать
Туночка️
Ну так не юзай глобальные переменные
def getUpdates(offset= 0, limit = 100, timeout = 0, allowed_updates = []): #global TOKEN a = {'offset': offset, 'limit': limit, 'timeout': timeout, 'allowed_updates': allowed_updates} b = get(f'https://api.telegram.org/bot{TOKEN}/getUpdates', params = a).json() return b
Туночка️
фу
🍁 Jaŭhien
Сделай класс-обертку, который принимает токен аргументом
Туночка️
ФП
Туночка️
Я хочу попробывать для начала ФП либу запилить
Туночка️
а потом другую сделать с классами
Tishka17
ФП?
Prunkles
ФП?
Функицональнео Программирование, наверное
🍁 Jaŭhien
Ты хотел сказать "структурное"
Tishka17
Ну сделай функцию, которая получает токен и возвращает другую функцию получения апдейта с этим токеном
🍁 Jaŭhien
🍁 Jaŭhien
Да, процедурное
Tishka17
ШОООООООО?
Так что за ФП?
Туночка️
Функицональнео Программирование, наверное
Tishka17
Функицональнео Программирование, наверное
Ты уверен, что понимаешь что такое функциональное программирование?
Туночка️
да я лох
Туночка️
а что?
Туночка️
а бля
Anonymous
Как сделать чтобы колонка процент была глобальной в бд mysql для всех юзеров? По дефолту, например, стоит 10 процентов, потом этот процент меняется и при добавлении нового юзера, чтоб не выводился дефолтные 10 процентов, а бралось из глобального?
Anonymous