05-03-2005 12:35 [C++][Delphi] Идиомы
После длительного программирования на C++ понадобилось слепить программу с гуём. Выбрал в качестве языка реализации Delphi. В первый же день выяснилось, что теперь мне для комфорта не хватает чего-нибудь такого:
type TStringCallback = procedure(i: Integer; s: string; o: TObject) of object;
procedure ForEach(strings: TStrings; callback: TStringCallback); overload;
var i: Integer;
begin
  for i := 0 to Pred(strings.Count) do
  begin
    callback(i, strings[i], strings.Objects[i]);
  end;
end;

Перегрузить по мере надобности для всех типов коллекций, динамических массивов, COM’овских enumerator’ов. Кажется, называется Internal Iterator Pattern.

Попутно замечаю, что стал ставить begin/end даже вокруг одиночных операторов и втыкать точку с запятой там, где её вообще-то не надо. Coding style, блин. Забавно.
Закрыть