В целом Вы используете OuterClassName.this
для обращения к экземпляру включения внешнего класса.
В Вашем примере, который был бы a.this.otherMethod()
A * будет соответствовать чему угодно, если не совпадет шаблон слова или нескольких слов
A _ будет соответствовать чему угодно, даже если шаблон слова или нескольких слов может совпадать
< шаблон> BYE _
не имеет смысла, поскольку
соответствует тем же шаблонам, но
будет затенять
, тогда как BYE * не будет.
Используйте _ осторожно, например _ будет соответствовать чему угодно, и ваш бот будет каждый раз давать один и тот же ответ .
и
_ и * являются подстановочными знаками, разница в том, где они должны использоваться в сопоставлении с образцом.
_ should be used before the word or phrase you're matching on
* should be used after the word or phrase you're matching on.
См .: Спецификация AIML
Чтобы лучше понять это, может быть стоит глядя на примеры в существующих ботах AIML.
См .: Загрузки , у этого Saluations.aiml есть примеры