Нужен совет по рефакторингу PythonicPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Нужен совет по рефакторингу Pythonic

Сообщение Anonymous »

Я пишу токенизатор для файлов, которые игнорируют преамбулу. Файлы написаны на Markdown, а в заголовках H1 есть список ключевых слов, которые меняют состояние парсера. При обнаружении EOF конечный автомат возвращается в состояние игнорирования и ищет заголовки ключевых слов.
Я решил создать обобщенный пакет для будущего использования, поэтому написал следующее код просмотра:

Код: Выделить всё

def peek(self):
while True:
if (self.skip_white_space and self.expect_type('WHITE_SPACE') or \
self.skip_EOF and self.expect_type('EOF')) and \
not self.is_end():
self.consume()
continue
break
return None if self.is_end() else self.lines[self.line][self.column]
Есть ли лучший способ сделать это? Бесконечный цикл уродлив. Огромное условие if тоже ерунда.
Я пытался выучить Python, но, похоже, потерпел неудачу. Я ожидал чего-то не какашка.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ice-needed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»