我創建了幾個水果一個實體(蘋果,香蕉,橙子,鱷梨)沃森談話實體陣列
當我的用戶說,我需要檢查,如果有一個@Fruits做工精細的任何意圖,但如果我的用戶說我需要將2個或更多的水果保存在一個陣列中。我怎樣才能使用插槽?因爲在我的測試中,他僅保存最後一個(如果我打印$ myFruits)
TKS
我創建了幾個水果一個實體(蘋果,香蕉,橙子,鱷梨)沃森談話實體陣列
當我的用戶說,我需要檢查,如果有一個@Fruits做工精細的任何意圖,但如果我的用戶說我需要將2個或更多的水果保存在一個陣列中。我怎樣才能使用插槽?因爲在我的測試中,他僅保存最後一個(如果我打印$ myFruits)
TKS
當用戶鍵入兩個值以上,這個值是一個實體內,該值將裏面保存array
,你可以訪問實體。例如...
你可以在我的例子看,如果我種兩味的,將兩個值出現在我的控制檯在一個陣列...
對話框:
控制檯:
所以,如果你想從實體@fruits
的所有值。您可以使用此方法爲一個上下文變量中保存(如:$fruits
):
<? entities['fruits'][0].value + entities['fruits'][1].value ?> //if types two fruits
而對於這對您的對話框中顯示,你可以用這個方法:
{
"output": {
"text": "This is the array: <? $fruits.join(', ') ?>"
}
}
回報率將是:
This is the array: calabresa, marguerita,
如果你想訪問從代碼的實體的所有值,你需要訪問從調用消息(接入實體,意圖,上下文變量等)的回報,使用下面的代碼:
var arrayEntitie = response.entities
for (var i=0; i < arrayEntitie.length; i++) {
if (arrayEntitie[i].name === 'calabreza') { //make your condition
//do something
}
}
簡單的方法是使用@ EntityName.values。它將以數組的形式將給定實體的所有值存儲在上下文中。