Size: a a a

pyTelegramBotApi.talks.ru

2021 June 09

T

Tishka17 in pyTelegramBotApi.talks.ru
тип результата или сам резуьтат?
источник

m

meier in pyTelegramBotApi.talks.ru
будем считать что foo это метафункция.
у нее нет имплементации, она просто показывает какой тип вернет при двух полученных аргументах.

мы берем список типов, и засовываем их в редьюс, и нам надо узнать какой тип будет в результате на этапе статического анализа
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
вот у тебя допустим функция
def and_(a: bool, b: bool) -> bool:
    return a and b

ты же не будешь для нее сигнатуры писать в духе

def and_(a: Literal[True], b: Literal[True]) -> Literal[True]: ...
def and_(a: Literal[False], b: Literal[True]) -> Literal[False]:...
def and_(a: Literal[False], b: Literal[False]) -> Literal[False]:...
def and_(a: Literal[False], b: Literal[False]) -> Literal[False]:...
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
не будешь
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
так и тут не делай фигни
источник

m

meier in pyTelegramBotApi.talks.ru
не буду, но нам надо явно указать какой тип будет в результате
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
Функция что-то делает - и тебе важен тип результата, а его значение скрыто внутри функции.
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
в результате у тебя будет Type
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
функция возвращает тип. Тип типа - type
источник

m

meier in pyTelegramBotApi.talks.ru
так это у нас метафункция
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
нету никаких метафункций
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
есть функции
источник

m

meier in pyTelegramBotApi.talks.ru
ну так надо сделать чета такое
источник

m

meier in pyTelegramBotApi.talks.ru
я с фпшником закусился
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
а дальше у функции есть область определения и область значений
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
если функция работает на множестве типов - она работает на множестве типов.
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
если функция работает на множестве булов - она работает на множестве булов
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
нет никакой разницы
источник

T

Tishka17 in pyTelegramBotApi.talks.ru
В сигнатуре ты указываешь область определения и область значений.
Иногда у тебя функция может рабоатть на нескольких различных областях определения и выдавать соответственно значения из разных множеств. Тогда ты юзаешь overload.

Но в overload пихать множества состоящие из одного элемента и по сути дублировать логику работы функции - это херня
источник

m

meier in pyTelegramBotApi.talks.ru
а как мне сделать так чтобы статический анализатор понял, какой тип будет при редьюсе какого-то тайплиста?
источник