TTabCairn
Сценарии

Сценарии работы с кодом · Логические столбцы табуляции

03
Вокруг ваших задач

Конкретная отправная точка

Посчитайте логические столбцы одной строки с фиксированными остановками табуляции и одним столбцом на прочую кодовую точку Unicode. Проверьте соседние табуляции и эмодзи, отклоняя нулевую ширину и переводы строк без утверждений о ширине в терминале.

01

Откройте контекст

Выберите папку проекта и обозначьте нужные файлы или поведение.

02

Опишите изменение

Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.

03

Изучите работу

Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.

04

Проверьте результат

Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Логические столбцы табуляции

Конкретная отправная точка
def logical_column(text, tab_width):
    if not isinstance(text, str):
        raise ValueError("text.required")
    if type(tab_width) is not int or tab_width <= 0:
        raise ValueError("tab.width")
    if "\r" in text or "\n" in text:
        raise ValueError("line.break")
    column = 0
    for char in text:
        column += tab_width - column % tab_width if char == "\t" else 1
    return column

Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.

Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗