Шаг вперёд в цикле

Страницы: 1
RSS
Шаг вперёд в цикле
 
Есть цикл, внутри которого качаются котировки с финама по многим инструментам.
for i=start_year,cur_year,1 do

end
В начале почти по всем акциям прилетают пустые годы (котировок ещё нет)
Первый НЕпустой год я брать не хочу, потому что котировки ещё не адекватные.
Я хочу брать второй не пустой год.
То есть цикл должен быть таким
Код
for i=start_year,cur_year,1 do
  --если размер таблицы нулевой, шагаем на 2 шага
  --после этого всегда шагаем 1 шагом
end
как это написать?
 
а почему просто не пропустить итерацию?


for i=start_year,cur_year,1 do
 --если размер таблицы НЕ нулевой и i==1, то работаем
--иначе ничего не делаем

end
 
поправка
Цитата
Sergey Gorokhov написал:
--если размер таблицы НЕ нулевой и i>=1, то работаем
 
хотя и i>=1, вообще не нужно.
лучше так:
for i=start_year,cur_year,1 do
--если размер таблицы НЕ нулевой то работаем
--иначе работаем
end
 
for i=start_year,cur_year,1 do
--если размер таблицы НЕ нулевой то работаем
--иначе ничего не делаем
end
 
Цитата
Sergey Gorokhov написал:
for i=start_year,cur_year,1 do
--если размер таблицы НЕ нулевой то работаем
--иначе ничего не делаем
end
Если размер таблицы первый раз НЕ нулевой, то тоже НЕ работаем.
Работаем только если она второй раз не нулевой.
 
Цитата
Let_it_go написал:
Цитата
Sergey Gorokhov написал:
for i=start_year,cur_year,1 do
--если размер таблицы НЕ нулевой то работаем
--иначе ничего не делаем
end
Если размер таблицы первый раз НЕ нулевой, то тоже НЕ работаем.
Работаем только если она второй раз не нулевой.
Тогда так:
for i=start_year+1,cur_year,1 do
--если размер таблицы НЕ нулевой то работаем
--иначе ничего не делаем
end
 
Код
flag="do not";

for i=start_year,cur_year,1 do

       TabSize=........; 

        if flag=="can do" then
                работаем
        end;

        if  (flag=="do not" and TabSize~=0) then
                 flag="can do";        
        end;

end
Страницы: 1
Читают тему
Наверх