Baixe o aplicativo
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Calcule um intervalo visível semiaberto usando altura fixa das linhas, deslocamento e altura da janela. Teste rolagem negativa, excesso de rolagem e janela com altura zero, limitando os índices e rejeitando altura de linha inválida.
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Escolha um endpoint compatível. As ferramentas disponíveis e a qualidade das respostas dependem do modelo e do servidor configurados.
Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
from math import isfinite, ceil
def row_window(count, row_height, offset, viewport, overscan=1):
if type(count) is not int or count < 0 or type(overscan) is not int or overscan < 0:
raise ValueError("rows.count")
if not all(type(x) in (int, float) and isfinite(x) for x in (row_height, offset, viewport)) or row_height <= 0 or viewport < 0:
raise ValueError("rows.geometry")
start_units = max(0, offset) / row_height
first = count if start_units >= count else int(start_units)
if first == count or viewport == 0:
return first, first
span = viewport / row_height
end = count if span >= count - start_units else min(count, ceil(start_units + span) + overscan)
return max(0, first - overscan), endRevise antes de aplicar. Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.