вызов метода суперкласса с изюминкой

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

Я понял, что cmd последовательно выполняет методы precmd, onecmd и postcmd. Я проследил код и увидел, что onecmd является основным, который преувеличивает данную строку. Он проверяет параметры, затем проверяет строку. Если строка пуста, она вызывает метод пустой линии и возвращает последнюю команду, которая является глобальной переменной, называемой lastcmd. Я переопределяю метод пустой линии, тогда моя проблема исправлена.

Вот метод, который я написал переопределить.

def emptyline(self):
        """Called when an empty line is entered in response to the prompt.

        If this method is not overridden, it repeats the last nonempty
        command entered.

        """
        if self.lastcmd:
            return self.onecmd(self.lastcmd)

И вот мой:

def emptyline(self):
        """Called when an empty line is entered in response to the prompt.

        If this method is not overridden, it repeats the last nonempty
        command entered.

        """
        if self.lastcmd:
            self.lastcmd = ""
            return self.onecmd('\n')

Это не может быть большой проблемой, но помните об этом на всякий случай.

1
задан moox 20 October 2010 в 15:10
поделиться