Используя dragonfly2 , систему голосовых команд, вы можете создать грамматику следующим образом:
chrome_rules = MappingRule(
name='chrome',
mapping={
'down [<n>]': actions.Key('space:%(n)d'),
},
extras=[
IntegerRef("n", 1, 100)
],
defaults={
"n": 1
}
)
Это позволяет мне нажимать пробел n
раз, где n
- это некотороецелое число.Но что мне делать, если я хочу использовать одну и ту же переменную (n
) несколько раз в одной и той же грамматике?Если я повторю это в грамматике, например, 'down <n> <n>'
, а затем произнесу что-то вроде «вниз на три четыре», Dragonfly правильно проанализирует его, но выполнит только actions.Key('space:%(n)d')
с n=3
, используя первое значение n
.Как я могу заставить его выполнить его 3 раза, а затем 4 раза, используя одну и ту же переменную?
В идеале я не хочу дублировать переменную n
в дополнительных и стандартных значениях, потому что этопохоже на избыточный код.