|
|
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Делаю простенькую штуку и получаю ошибку компиляции: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. И как это правильно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2020, 23:40 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ И как это правильно сделать? В Delphi - через боль и страдание. В FPC - легко и просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 01:16 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ, Посмотри что-то типа TComparer<T>.Default ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 01:44 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Можно поподробней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 01:44 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, Подробнее о боли или о лёгкости? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 01:47 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
авторПосмотри что-то типа TComparer<T>.Default Действительно боль, проще с вариантами сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 01:49 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, До твоего комментария я думал, что в FPC как раз всё печально ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 02:05 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ, пробуй так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 02:09 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU До твоего комментария я думал, что в FPC как раз всё печально ) В FPC всё естественно, без компареров, тайпкайндов и прочего дельфийского секса. Обсуждалось уже, читать можно, примерно, отсюда . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 02:16 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Пробежался, так и не понял Как на FPC решить вопрос ТС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 02:21 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Как на FPC решить вопрос ТС? Да вот как у него код написан, так и решить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 02:27 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Забил я на дженерики, сделал через вариант: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Использование: Код: pascal 1. 2. 3. 4. 5. Результат: 17 0,468 04.01.2021 21:56:06 08.01.2021 19:36:20 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 13:26 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ Забил я на дженерики давно пора от этой ереси избавиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 13:34 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
defecator Страдалецъ Забил я на дженерики давно пора от этой ереси избавиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 13:44 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ, То есть типа через TComparer<T>.Default было сложнее, да? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 13:46 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
авторТо есть типа через TComparer<T>.Default было сложнее, да? ) Я просто не понял как это делать, а когда попробовал сделать функцию Random через дженерики снова наступил на те-же грабли и просто бросил. Если не сложно, то покажите на моем конечном коде, как это будет через дженерики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 17:27 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 17:32 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 17:42 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ Если не сложно, то покажите на моем конечном коде, как это будет через дженерики. Если быстро, то так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 18:24 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Спасибо. Уже понятнее. Есть от чего оттолкнуться. Kazantsev Alexey - спасибо конечно, но это уже изврат, дженерики должны упрощать жизнь, а не глумится над кодером :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 18:52 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ дженерики должны упрощать жизнь, а не глумится над кодером :) В FPC упрощают. А в дельфе - добро пожаловать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 18:57 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Все бы хорошо, но в FPC генерики будут выдавать ошибки не на этапе компиляции как в дельфе, а во время работы ПО. С этой точки зрения использование Comparer<T>.Default.Compare вместо прямого кода сравнения выглядит не столь ужасно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 19:01 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
rgreat но в FPC генерики будут выдавать ошибки не на этапе компиляции как в дельфе, а во время работы ПО Ну что за глупости... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 19:03 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
rgreat, Смотри: Вариант для байта и строки откомпилировался, а на варианте с TVarData получили ошибку компиляции т.к. для TVarData не определён оператор сравнения. Если сейчас написать тайпхелпер с перегруженным оператором сравнения для TVarData, то и третий вариант откомпилируется. Круто, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 19:14 |
|
||
|
Generics, а собственно как сравнить элементы <T> ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Если сейчас написать тайпхелпер с перегруженным оператором сравнения для TVarData, то и третий вариант откомпилируется. Хотя нет, в хелпере оператор декларировать нельзя. Но, с любыми другими методами это работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2021, 19:26 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40032926&tid=2037738]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 417ms |

| 0 / 0 |
