Comments 6
Прочитал первые два абзаца и остановился. Подумалось — есть же итераторы.
ты не понял. Это эмуляция yield из C# в дельфи.
Не уверен, что это средство намного удобнее и понятнее итераторов. А решает ту же задачу насколько я понимаю. Но да, прикольно, конечно, не спорю.
Не уверен, что это средство намного удобнее и понятнее итераторов
ну давай, реализуй на итераторах аналог этого:
и сравни количество кода.
ну давай, реализуй на итераторах аналог этого:
procedure F( Generator: TGeneratorWithParam<UInt64, UInt64> );
begin
if Random(1) = 0 then if not Generator.Yield(0) then Exit;
if Random(10) = 0 then if not Generator.Yield(0) then Exit;
if Random(20) = 0 then if not Generator.Yield(0) then Exit;
end;
for X in TGenerator<UInt64>.Create( F ) do
begin
WriteLn( X );
end;
и сравни количество кода.
Дело же не только в количестве строк кода, но и в его понятности. Извините, но я вот например не понимаю, что делает ваша программа.
Но должен отметить, что я не пишу на Delphi/Object Pascal уже довольно давно. В последнее время я имею дело в основном с Perl, плюс изучаю «для себя» Erlang и Haskell. Не исключаю, что решение, описанное в статье, имеет право на жизнь и в определенных условиях удобно.
Но должен отметить, что я не пишу на Delphi/Object Pascal уже довольно давно. В последнее время я имею дело в основном с Perl, плюс изучаю «для себя» Erlang и Haskell. Не исключаю, что решение, описанное в статье, имеет право на жизнь и в определенных условиях удобно.
Дело же не только в количестве строк кода, но и в его понятности. Извините, но я вот например не понимаю, что делает ваша программа
естественно. первых двух абзацев статьи для этого — недостаточно.
Но должен отметить, что я не пишу на Delphi/Object Pascal уже довольно давно. В последнее время я имею дело в основном с Perl, плюс изучаю «для себя» Erlang и Haskell.
в хаскеле для генерации последовательности в подобном стиле нет нужды, он и сам по себе ленивый. в perl вот:
en.wikipedia.org/w/index.php?title=Generator_(computer_programming)§ion=6#1987:_Perl ну а саму статью почитай…
естественно. первых двух абзацев статьи для этого — недостаточно.
Но должен отметить, что я не пишу на Delphi/Object Pascal уже довольно давно. В последнее время я имею дело в основном с Perl, плюс изучаю «для себя» Erlang и Haskell.
в хаскеле для генерации последовательности в подобном стиле нет нужды, он и сам по себе ленивый. в perl вот:
en.wikipedia.org/w/index.php?title=Generator_(computer_programming)§ion=6#1987:_Perl ну а саму статью почитай…
Sign up to leave a comment.
Бесконечные генераторы значений на Delphi + Ассемблер