Size: a a a

2020 September 25

RS

Renat Suleymanov in Delphi & Lazarus
Sergey Bodrov
Поначалу удобно, что вместо структуры класса и нескольких похожих методов - всего одна строка со специализацией. Но при дальнейшей работе уже начинают в глазах рябить эти <T>
ПОчему это рябить? Ты используешь уже специализированный класс, а не эти <T>. С чего рябить-то? Объявление/специализация только в одной строчке и все. А дальше это обычный класс просто
источник

RS

Renat Suleymanov in Delphi & Lazarus
Sergey Bodrov
THashMap of IPair
Ну то есть делаешь заново реализацию
источник

VA

Viktor Akselrod in Delphi & Lazarus
Sergey Bodrov
THashMap of IPair
ты точно использовал дженерики?
источник

AK

Alexey Kulakov in Delphi & Lazarus
Виктор, у меня просто нет настолько похожих типов и обработчик, чтоб использовать генерикив, да и копипаст меня не особо смущает
источник

VA

Viktor Akselrod in Delphi & Lazarus
Alexey Kulakov
Виктор, у меня просто нет настолько похожих типов и обработчик, чтоб использовать генерикив, да и копипаст меня не особо смущает
ок. простой пример. у тебя есть рекорд с несколькими полями. и есть нужна организовать это всё в список. твои действия?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Viktor Akselrod
ты точно использовал дженерики?
Да, там даже были извращения типа <T, <T2>>. Потом пересмотрел иерархию зависимостей и сделал красиво.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Viktor Akselrod
что там рябит, если ты бОльшую часть времени используешь уже готовые классы просто объявляя специализацию?
В implementation да. Но не всегда.
источник

VA

Viktor Akselrod in Delphi & Lazarus
Sergey Bodrov
Да, там даже были извращения типа <T, <T2>>. Потом пересмотрел иерархию зависимостей и сделал красиво.
есть смысл вернуться к дженерикам и еще раз посмотреть.
и было бы интересно посмотреть твою реализацию мапы для объектов в виде ключа и значения.
источник

AK

Alexey Kulakov in Delphi & Lazarus
Viktor Akselrod
ок. простой пример. у тебя есть рекорд с несколькими полями. и есть нужна организовать это всё в список. твои действия?
Без понятия, вот возникнет нужда, посмотрю по ситуации. Но персонально я, наверное, не буду заморачиваться с генериками, если реально не припрет
источник

VA

Viktor Akselrod in Delphi & Lazarus
Alexey Kulakov
Без понятия, вот возникнет нужда, посмотрю по ситуации. Но персонально я, наверное, не буду заморачиваться с генериками, если реально не припрет
что за программа, в которой нет ни одного списка с данными?
источник

AK

Alexey Kulakov in Delphi & Lazarus
Та, где есть массивы, а не списки
источник

VA

Viktor Akselrod in Delphi & Lazarus
Alexey Kulakov
Та, где есть массивы, а не списки
ок. давай возьмем массив объектов.
по условию массив надо время от времени перезаполнять
надо удалять и добавлять элементы (эффективно).

сколько надо будет написать для массива и сколько для TObjectList<T>?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Viktor Akselrod
есть смысл вернуться к дженерикам и еще раз посмотреть.
и было бы интересно посмотреть твою реализацию мапы для объектов в виде ключа и значения.
https://github.com/serbod/osmap/blob/master/osmapdatafiles.pas
Там было очень много женериков, почти ничего не осталось
источник

Н

Неъматжон in Delphi & Lazarus
Добрый день!

  TMasonryCell = record
 private
   FItem: TMasonryItem;
   FRangeX: integer;
   FRangeY: integer;
   FFRangeX: integer;
   FFRangeY: integer;
   FisBusy: boolean;
 public
   constructor SetItem(AItem: TMasonryItem);
   property RangeX: integer read FRangeX write FRangeX;
   property RangeY: integer read FRangeY write FRangeY;
   property IsBusy: boolean read FisBusy write FisBusy;
 end;
Работает. Я все таки не понял тонкости...  
Вообще, использовать так record   правильно будет?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Я бы предпочел реализацию map на уровне компилятора, как array или object.
источник

VA

Viktor Akselrod in Delphi & Lazarus
что это? решение какой-то конкретной задачи на тысячу строк.
речь идет универсальном решении, которые позволить одной строкой специализации получить готовую мапу с контролем типом, готовых распространенных методов и тд
источник

SB

Sergey Bodrov in Delphi & Lazarus
Viktor Akselrod
что это? решение какой-то конкретной задачи на тысячу строк.
речь идет универсальном решении, которые позволить одной строкой специализации получить готовую мапу с контролем типом, готовых распространенных методов и тд
Это часть реализации базы данных для картографии и прокладки маршрутов
источник

VA

Viktor Akselrod in Delphi & Lazarus
Sergey Bodrov
Это часть реализации базы данных для картографии и прокладки маршрутов
какое она отношение имеет к обсуждаемой теме?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Viktor Akselrod
какое она отношение имеет к обсуждаемой теме?
В первоначальной реализации там были женерики из женериков
источник

SB

Sergey Bodrov in Delphi & Lazarus
Индексы, например
источник