LPTHW упражнение 49, методы против классов - PullRequest
0 голосов
/ 16 апреля 2020

В настоящее время я читаю книгу LPTHW, и у меня есть вопрос, касающийся упражнения 49. Я не публикую здесь полный код упражнения / упражнения, но могу опубликовать его, если потребуется.

создать синтаксический анализатор Я определил следующие методы:

    def parse_verb(word_list):
        skip(word_list, "stop")
        if peek(word_list) == "verb":
            return match(word_list, "verb")
        else:
            raise ParserError("Expected a verb next.")

    def parse_object(word_list):
        skip(word_list, "stop")
        next_word = peek(word_list)
        if next_word == "noun":
            return match(word_list, "noun")
        elif next_word == "direction":
           return match(word_list, "direction")
        else:
           raise ParserError("Expected a noun or direction next.")

    def parse_subject(word_list):
        skip(word_list, "stop")
        next_word = peek(word_list)
        if next_word == "noun":
           return match(word_list, "noun")
        elif next_word == "verb":
           return("noun", "player")
        else:
           raise ParserError("Expected a verb next.")

В одном из дополнительных вопросов к упражнению предлагается изменить методы parser_ и поместить их в класс. Я не совсем понимаю, как я могу это сделать, поскольку я не очень хорошо знаком с классами / OOP.

. Любой совет, как решить эту проблему, был бы очень признателен.

...