абапе? мне интересно, как рассчитывается хэш для объектов и ссылок, раз их в ключ можно ставить
хэши вставлять в хэштаблицы необязательно :)
в bc402 инфа. и в книге sappress abap preformance tuning сам алгоритм (как именно рассчитывается хэш) инфы нет, но есть подробности как именно строится хэш и сколько может быть в хэш таблице записей по 1 хэш-ключу
Посмотрел и bc402, и книгу, но там без подробностей оказалось :( просто "Hashed tables are managed internally using a hash algorithm", а что конкретно хэшируется в случае объектов и ссылок - непонятно
Зачем тебе это?
да просто интересно, в питоне вот нельзя изменяемые объекты в ключ ставить в словарь, в абапе можно, вот и захотелось узнать, как оно работает
странно. раньше было. там была инфа, что создается хэш из ключа таблы. что используется хэш табла с не более чем 2 значениями самой таблы для 1 хэш-ключа. но так - да, вроде как все
ваще вот не понял, что ты хотел сказать.. видимо нехватает знаний по питону)
в питоне нельзя ключом в словаре сделать list или объект какой-нибудь, а в abap я могу сделать поле key type ref to data, а потом сделать из него ключ в hashed таблице)
а. ну так тут в хэш гонится значение полей. че уж там считается значением в случае ссылки - хз. мож значение адреса мож еще чего (а-ля toString в js)
ну если сделать ключом объект в абапе, а потом изменить, то достается та же самая запись) то есть тут какой-то идентификатор хэшируется, судя по всему
загляни в отладку. там видно будет. когда смотришь просто объектную переменную - имя класса+ид инстанции. для простой (не объектной) ссылки скорее всего что-то наподобие
Есть в абапе таинственный недокументированный pointer - переменная типа x(28). Объявляется так: data p pointer. Используется так: system-call pointer <any_fs> to p. Вот с большой вероятностью ссылки именно в таком виде для хеша передаются
о, очень интересно, спасибо! надо поэкспериментировать
Ты чо ты чо, я когда такое читаю, у меня зубы от злости скрипят
ну я же не собираюсь так делать в продуктивном коде)
Обсуждают сегодня