在Bixby对话框中给出复数的问题

时间:2019-11-21 06:42:51

标签: bixby

我有一个关于对话框中复数的问题。

假设我有一个结构

structure (MyStructure) {
 property (MyConcept) {
   type {EnumConcept} max (Many)
 }
}

还有一个“值”对话框:

dialog (Value) {
 match: MyConcept(this)
  if (this == 'ABC') {
   switch(plural(this)) {
    case (One) { template("single1") }
    default { template ("plural1") }
   }
  }
  if (this == 'DEF') {
   switch(plural(this)) {
    case (One) { template("single2") }
    default { template ("plural2") }
   }
  }
}

通过使用 代码:

#{value(myStructure.myConcept.plural('Many'))}

当myStructure的值低于以下且myConcept的大小为1时,我可以获取“ plural1”或“ plural2”:

myStructure = [
 { myConcept: ABC },
 { myConcept: ABC },
 { myConcept: ABC },
 { myConcept: ABC }
]

当myConcept的大小为2并且myStructure具有以下值时,

myStructure = [
 { myConcept: ABC },
 { myConcept: ABC },
 { myConcept: DEF },
 { myConcept: DEF }
]

使用代码:

#{value(myStructure.myConcept.plural('Many'))}

将NLG设为

"single1 and single2"

我在NLG中想要什么:

"plural1 and plural2"

有人可以帮助我们为“ myStructure”列表中存在的唯一“ myConcept”的每个元素提供适当的复数NLG吗? 我想要将多个应用于数组的每个单独的值。 size(myStructure.myConcept) = 2。

我想对myConcept的两个值都应用复数。

我认为在对话框中我们没有for-each可用的东西。

1 个答案:

答案 0 :(得分:0)

很难分辨上面的代码中发生了什么。如果此答案无济于事,请考虑在某个地方共享完整的源代码以进行实时调试。

您可以尝试类似

#{value(myStructure.myConcept.plural(plural(myStructure.myConcept))}

文档中的示例如下: #{concept(restaurantStyle.plural(plural(restaurant)))}

来源:plural(node)部分中的https://bixbydevelopers.com/dev/docs/reference/ref-topics/el-ref#node-evaluation-functions