コード例 #1
0
 def ask(self, query, mores=True):
     """Ask returns a substitution that makes the query true, or
     it returns False. It is implemented in trems of ask_generator."""
     key = self.make_key(query)
     gvars = self.get_variables(query)
     iterator = self.wm[key].__iter__()
     try:
         unifier = Unify()
         printer = Printer()
         r = unifier.unify(iterator.next(), query, {})
         while True:
             if r:
                 for x in gvars:
                     print x.name + ": " + str(printer.deref(x, r))
                 # print r
                 if printer.query_yes_no("more solutions?", "no") == "no":
                     return True
             r = unifier.unify(iterator.next(), query, {})
     except StopIteration:
         return False