|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
А через много лет разработчики жаваскрипта придумывают глубокие идеи и принцыпы языка, "The JavaScript Way", чтобы обьяснить его странности и особенности :). Хотя основная концепция JS это "... я его слепила из того что было ..." ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 00:53 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
voraa Мечты... мечты... Беллард в quickjs сделал. Может лет через 5 и коммитет раздуплится. Можешь устроить там драму в обсуждениях, подтолкнуть его. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 06:54 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
private ЖС в этом плане действительно отсталый язык. Где нет ни оверлоада функций нормального с типами, ни мульти диспатч, ни екстеншен методов, ни сложных структур данных, ни понимания хеш/еквалити и т.п. Это динамический слаботипизированный язык, такой же, как, например, луа. Откуда там может взяться оверлоад функций, типы и пр., болезный? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 06:57 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
private рядом фундаментальных дефектов То, что рыба плавает, а не летает, видимо тоже фундаментальный дефект рыбы, лул. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 06:59 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Чето не понимаю, как можно сравнивать stringify для двух объектов, типа {a:1,b:2} и {b:2,a:1}. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 07:01 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
voraa У объектов могут быть методы. Как сравнивать одинаковы ли функции? У меня не было надобности в таком сравнении. Т.ч. не у того спрашиваешь... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 08:01 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
авторУ меня не было надобности в таком сравнении. Т.ч. не у того спрашиваешь. у меня тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 09:11 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
krvsa Имя пользователя1 "ромбы" или (особенно) циклы Покажи примеры этих элементов. Код: javascript 1. 2. 3. 4. 5. 6. 7.
ну и всякие комбинации того-сего. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 16:50 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Чего только не насмотришься... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 17:25 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
krvsa Чего только не насмотришься... Да я соавниваю, что надо сравнивать. Например, в цикле, или ещё как. И не парюсь. Это не часто нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 17:31 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
ShSerge , сейчас с этими юнит тестами валом всяких библиотек для сравнения тех же объектов... Подключай и используй. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 20:56 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Вот одна из таких http://underscorejs.org/#isEqual Или вот... https://jestjs.io/ru/docs/using-matchers ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 21:01 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
krvsa voraa У объектов могут быть методы. Как сравнивать одинаковы ли функции? У меня не было надобности в таком сравнении. Т.ч. не у того спрашиваешь... Когда применительно к JS говорят об объектах, то естественно приходит на ум произвольный объект, допустимый в JS. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 21:03 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
voraa , все функции/методы, что по ссылкам я привел выше, сравнивают именно произвольные объекты... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 21:32 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
krvsa voraa , все функции/методы, что по ссылкам я привел выше, сравнивают именно произвольные объекты... undescore не работает с произвольными объектами. Все не проверял, но Код: javascript 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 22:47 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
voraa undescore не работает с произвольными объектами. Напиши им в жлоб лист - пусть доделывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 23:00 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
krvsa voraa undescore не работает с произвольными объектами. Напиши им в жлоб лист - пусть доделывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 23:32 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Имя пользователя1 хрен они доделают - поля-симболы не итерируются (это типа такой сейф для данных: если на руках нет симбола, то никак не доберешься до поля). В смысле? Ну не итерируются через for-in. Но есть же Object.getOwnPropertySymbols Можно через него. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 23:40 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
ВСе правильно андерскор делает, весь смысл символов чтобы они были невидимыми, и соотв. не обнаруживались стандартными операциями. А вытащить символ таки можно ``` let s = Symbol() Object.getOwnPropertySymbols({a:1, b:2, [s]:3}) ``` ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 23:43 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Or Код: javascript 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2021, 23:58 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
private ВСе правильно андерскор делает, весь смысл символов чтобы они были невидимыми, и соотв. не обнаруживались стандартными операциями. А вытащить символ таки можно ``` let s = Symbol() Object.getOwnPropertySymbols({a:1, b:2, [s]:3}) ``` Речь идет о равенстве объектов. Логично предположить, что если объекты равны, то любые действия с этими объектами дадут одинаковый результат Код: javascript 1. 2. 3. 4. 5. 6. 7.
И что считать "стандартными" операциями? По мне любая функция входящая в реализацию движка вполне стандартна. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 00:02 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Ведущий профессионал ]В других языках я могу переопределить оператор сравнения. И объекты будут сравниваться так, как я хочу, а не так, как хочет язык. Серьезно? В С++ можно переопределить оператор сравнения, что бы сравнивать произвольные объекты? Ну хотя бы почти произвольные? Хоть черновик набросайте, как это сделать Или речь идет про какие то другие языки? Какие? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 01:32 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
voraa В С++ можно переопределить оператор сравнения, что бы сравнивать произвольные объекты? Ну хотя бы почти произвольные? Да легко. Преобразуй в *void и сравнивай побайтно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 11:59 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
crutchmaster voraa В С++ можно переопределить оператор сравнения, что бы сравнивать произвольные объекты? Ну хотя бы почти произвольные? Да легко. Преобразуй в *void и сравнивай побайтно. Ну ты хитрый, умелый программер. Большой знаток. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
a == b? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 13:43 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Проблема то вроде пустяковая Есть какие то структуры struct A {...}; struct B {...}; struct C {....}; ..... Есть "объекты" A a1, a2; B b1, b2; C c1, c2; И должно быть проще пареной репы в таком могучем языке, с великой перегрузкой операторов, со всякими хешами... Написать метод сравнения a1 c b1? c1 c c2, c2 c a2... Короче любой объект с любым Или в недоязыке C++ такое невозможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 14:13 |
|
|
start [/forum/topic.php?fid=22&msg=40088051&tid=1443196]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 246ms |
total: | 409ms |
0 / 0 |