Lowering для foreach: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) (Новая страница: «Такой код <source lang="Delphi"> foreach var x in l do Print(x); </source> заменяется на <source lang="Delphi"> var a: IEnumerable<auto_…») |
(нет различий)
|
Версия от 10:53, 3 июля 2016
Такой код
foreach var x in l do
Print(x);
заменяется на
var a: IEnumerable<auto_foreach> := l;
var en := a.GetEnumerator();
var curr: auto_foreach; // или эта переменная была описана ранее если foreach x
while en.MoveNext do
begin
curr := en.Current;
Print(curr);
end;
на синтаксическом уровне.