Bixby NL использует целочисленный тип данных - PullRequest
0 голосов
/ 18 марта 2019

Как мне вернуть целочисленный тип данных из обучения Биксби в NL?Представление ввода использует элемент слайдера, концепция установлена ​​на целое число, поэтому я считаю, что драйвер диалога / NL должен выводить целое число, а не текст / строку.Использование словарного файла, очевидно, не работает в этой ситуации.

Я предполагаю, что это будет похоже на то, как роль Money выводит число с плавающей точкой, то есть:

What can I get for {[g:viv.money.MaxPrice] ($)[v:viv.money.PrefixSymbol:$](40)[v:viv.money.CurrencyValue]}

1 Ответ

1 голос
/ 19 марта 2019

Когда ваша капсула использует примитивные типы (целое число в вашем случае), лучше создать свой собственный тип, производный от примитивов.

integer (MyAge) {
  description (__DESCRIPTION__)
}

Ваше обучение NL может быть как My age is 25, и вы можете пометить 25 как Integer.

input-view {
  match: MyAge (this) {
    to-input: GetMyAge (action)
  }

  message {
    template (Testing MyAge)
  }

  render {

    form {
      // the intent that will be used when the form is submitted
      on-submit {
        goal: MyAge
        value: viv.core.FormElement(id)
      }

      elements {
        slider {
          step(1)
          id (id)
          type (viv.core.Integer)
          max-label ()
          min-value (1)
          max-value (123)
          value("#{value(action.integerValue)}")
        }
      }
    }
  }
}

action (GetMyAge) {
  type(Search)
  description (__DESCRIPTION__)

  collect {
    input (integerValue) {
      type (viv.core.Integer)
      min (Required) max (One)
      default-init {
        intent {
          goal: viv.core.Integer
          value: viv.core.Integer (1)
        }
      }
    }
    computed-input (myInteger) {
      type (viv.core.Integer)
      min (Required) max (One)
      compute {
        intent {
          goal: viv.core.Integer
        }
      }
    }
  }
  output (viv.core.Integer)

Попробуйте и дайте нам знать, если это сработало.

...