pascalabcnet/TestSuite/yield8.pas

29 lines
749 B
ObjectPascal
Raw Permalink Normal View History

2024-06-09 13:03:39 +03:00
function V(n: byte) := 1;
function f1: sequence of integer;
begin
//Ошибка: Ожидалось имя процедуры или функции
2024-06-09 13:30:20 +03:00
var v := V(0);
2024-06-09 13:03:39 +03:00
// Если закомментировать эту строчку - предыдущая строчка работает
yield v;
end;
2024-06-09 13:30:20 +03:00
function f2: sequence of integer;
begin
//Ошибка: Ожидалось имя процедуры или функции
var v := V(0);
var w := v + 1;
// Если закомментировать эту строчку - предыдущая строчка работает
yield w;
end;
2024-06-09 13:03:39 +03:00
begin
var i := 0;
foreach var j in f1 do
i := j;
assert(i = 1);
2024-06-09 13:30:20 +03:00
foreach var j in f2 do
i := j;
assert(i = 2);
2024-06-09 13:03:39 +03:00
end.