我查了几个例子,包括
class SimpleCompleter(object):
def __init__(self, options):
self.options = sorted(options)
return
def complete(self, text, state):
response = None
if state == 0:
# This is the first time for this text, so build a match list.
if text:
self.matches = [s
for s in self.options
if s and s.startswith(text)]
logging.debug('%s matches: %s', repr(text), self.matches)
else:
self.matches = self.options[:]
logging.debug('(empty input) matches: %s', self.matches)
# Return the state'th item from the match list,
# if we have that many.
try:
response = self.matches[state]
except IndexError:
response = None
logging.debug('complete(%s, %s) => %s',
repr(text), state, repr(response))
return response
我无法弄清楚为什么国家正在增加以及它的目的是什么。 它适用于state = 0和匹配单词列表中的一个元素,但是当状态增加时我会引发错误(IndexError)
由于
答案 0 :(得分:0)
state 是可能的匹配数,您可以使用它返回多个结果。
即当state == 1
返回“cmd1”时,state == 2
返回“command2”时,state == 3
返回时无传递2匹配结果。