Loyd
мне что каждый раз самому это реализовывать? для этого и есть тупл. так же как set и frozenset
Серьёзно? То есть если бы hash был реализован для объектов с полями {foo, bar}, ты бы в него укладывал всё?
Маjко
Здравствуйте, это канал аниме?
doc
ну пиши без сахара)
Loyd
потому что лист как ключ в здравом уме не будет никто юзать
У тебя массив объектов, которые умею в хеш. Должен ли массив уметь в хеш?
Loo
какой там крэйт логгер со временем идёт сразу при логировании?
doc
а изначально в чем был спор у туплах в питоне?
Loyd
нет
Почему это?
doc
Почему это?
потому что это список))) он изменяемый
Loyd
Когда ты берёшь хеш он неизменяется
Loyd
Изменится список => поменяется хеш, если пересчитать
doc
ты понмиешь, что для списка считать хэш O(n) ?
Anonymous
Почему это?
потому что это не статиконаркомания с цепочками const / чистоты
Loyd
Ты мне скажи, если я могу все объекты множества хешировать, могу ли я хешировать само множество?
doc
да в перформансе дело епт. никто в своем уме не запилит алгоритм O(n) в язык, если O(1) можно обойтись
Loyd
s/множество/коллекция/, а то налетят
doc
притом
Anonymous
Причём тут const вообще?
при том что ты исходишь из того что ЛОГИЧНО сделать хешируемым список из хешируемого но с точки зрения кодинга это какой то бред. ты еще скажи что если список имеет итемы с методом yoba то я могу сделать [].yoba(). Это кажется в жквери было
Anonymous
причем это даже не множество, это список
Anonymous
порядок изменить что будешь делать с хешом ?
Loyd
притом
Думаешь, что (a,b,c,d) и (a,b,c,d,e,f,g,t,y,u,u) за одно время хешируются, лол?
doc
чисто теоритически можно брать хэш от списка хэшируемых объектов. но эта фича нереально бьет по перформансу, и не надо так легко давать людям гавнокод
Loyd
Что за субъективщина, не понимаю
Anonymous
назовите хотябы один кейс где хеш из списка имел бы смысл вообще какой то практический
Влод
Думаешь, что (a,b,c,d) и (a,b,c,d,e,f,g,t,y,u,u) за одно время хешируются, лол?
я жду что он ща напишет мол иммутабельность - ключ к перфомансу
Loyd
назовите хотябы один кейс где хеш из списка имел бы смысл вообще какой то практический
Чтоа? Хранить отпечаток, чтобы быстро искать в том же хешмапе
Anonymous
тебе хочется хеш из списка чтобы удовретворить хаскелиста внутри просто
Loyd
тебе хочется хеш из списка чтобы удовретворить хаскелиста внутри просто
а тебе хочется дальше путать иммутабельность с хешированием и решать одно через другое 0_о
doc
когда у тебя есть пара значений и ты хочешь по ним быстро обращаться. вот для списка юзкейс. правда из 2-3 значений обычно. больше никогда не делал и хз зачем
Anonymous
Чтоа? Хранить отпечаток, чтобы быстро искать в том же хешмапе
ну это решается пользовательскими типами/ спец базами со спец апи, а не суванием сахарка в язык
doc
я чувствую тут какой-то хаскеледрочкой пахнет на типы
Loyd
Тебе в inmemory нужно поток новостей сравнивать, вычислить хеш от n признаков и таким образом положить их в bucket-ы, внутри которых потом уже сравнивать
Anonymous
Причём тут сахарок?
при том что нет никакой причины пихать хеш в список и более того как то интуитивно определить как он будет вести себя при перемешивании списка и при изменении полей в списке. останется только реактивность притянуть чтобы при изменении проперти он пересчитывался
Loyd
И понимаешь, что на вход ты вообще произвольный поток байтов дать можешь.
Loyd
Зачем они нужны, тебе, надеюсь, в школе рассказывали.
Loyd
Loyd
ты должен сделать hash(x). И вот этот x должен быть любым, который логически ты можешь захешировать (то есть любые данные, именно данные)
Loyd
Очевидно, что для объектов хеширование нелогично, тут никто не спорит.
Anonymous
тоесть чтобы эстеты не возмущались в языке надо просто запретить примитивные типы ?
Loyd
Ещё раз: коллекцию хешируемых данных можно хешировать?
Loyd
Ещё раз: коллекцию хешируемых данных можно хешировать?
Только ты логически ответь, а не теки по своему недоязычку
Anonymous
Куда-то тебя не туда понесло совсем
ну потому что если говорить о списке _чего то_ то это список обьектов бд/любых вещей у которых уже есть идентификаторы. никто не будет прогонять строку/обьект через хеш-функцию
Anonymous
Ещё раз: коллекцию хешируемых данных можно хешировать?
если хочешь кешировать делаешь свой hash(obj), я не понимаю зачем это в язык тащить
Loyd
ну потому что если говорить о списке _чего то_ то это список обьектов бд/любых вещей у которых уже есть идентификаторы. никто не будет прогонять строку/обьект через хеш-функцию
Каким хером хеширование связано с идентификаторами? Допуститм там объект, для которых хеширование вообще имеет смысл (то есть это уже не объект, а DTO скорее). Коллекция хешируема?
Anonymous
Ты ответишь на вопрос мой или нет?
я не знаю как хешировать дерево хешируемых обьектов и какой из этого будет смысл. хочешь оптимизировать поиск чтобы не матчить массивы - делаешь map
Anonymous
я бы вообще хешировать запретил
Anonymous
для интов инты, для строк адреса, ключ от тупла простой конкатенацией
Loyd
Ладно, понял, ответа от тебя я не дождусь
Anonymous
в питонке скорее всего так и есть
Anonymous
я уже сказал. нет. нельзя хешировать список хешируемых обеьктов. это бессмыслица
Loyd
То есть, если можно захешировать 1 int, то два int-а уже хешировать нельзя?
Anonymous
ну я понимаю ты намекаешь как это так тупл можно а список нельзя
Anonymous
три можно, в рамках тупла. ну четыре. не более. лул
Anonymous
дальше уже просто абсурд какойто выходящий за грани дженерик механизма
Loyd
Ладно, это бессмысленный разговор
Oleg
если вы спорили о том принципиально ли, чтобы хешируемый объект был иммутабельным, то я на стороне того, кто утверждал, что да
Anonymous
вот кстати чуть ли не каноничный пример сути статикомысли. дай им складывать вектора так они напишут дженерик реализацию с кодогенерацией для н-размерных векторов, матриц и прочих тензоров , во всех областях чисел и для всех пространст известных науке
Anonymous
если вы спорили о том принципиально ли, чтобы хешируемый объект был иммутабельным, то я на стороне того, кто утверждал, что да
только ничего тебе в питонке не сможет гарантировать что он иммутабельный, тут вам не раст
Anonymous
зачем что питонка это лучшее что есть в динамикомысли. и пока единственный инструмент который можно взять и чтото написать не обосравшись от отсутствия либ/среды
Kerrigan
как там с растом на андроиде теперь?