Ibm watson 如何在IBM对话中对字符串数组应用数组方法
在IBM对话中,如果我们创建一个包含其他数组(如实体)的上下文变量数组,那么它将成为一个字符串数组。根据文档,不能对字符串数组执行Ibm watson 如何在IBM对话中对字符串数组应用数组方法,ibm-watson,watson-conversation,Ibm Watson,Watson Conversation,在IBM对话中,如果我们创建一个包含其他数组(如实体)的上下文变量数组,那么它将成为一个字符串数组。根据文档,不能对字符串数组执行size()或length()等数组方法。有什么方法可以在字符串数组上执行这样的功能吗?Watson对话服务中的数组和字符串类型是有区别的。要获取关于数组大小的信息-即获取关于数组类型包含的元素数量的信息,可以使用size()方法 对于type string,可以使用length()方法获取有关字符串中字符数的信息 这是两者的一个例子。该字符串看起来像一个数组,但它是
size()
或length()
等数组方法。有什么方法可以在字符串数组上执行这样的功能吗?Watson对话服务中的数组和字符串类型是有区别的。要获取关于数组大小的信息-即获取关于数组类型包含的元素数量的信息,可以使用size()
方法
对于type string,可以使用length()
方法获取有关字符串中字符数的信息
这是两者的一个例子。该字符串看起来像一个数组,但它是一个字符串(用引号括起来)“。请注意,数组类型周围没有引号:
{
"context": {
"my_string" : "[\"one\", \"two\", \"three\"]",
"my_array": [
"one",
"two",
"three"
]
},
"output": {
"text": {
"values": [
"This is string size: <?$my_string.length()?>. This is my array size: <? context.my_array.size()?>"
],
"selection_policy": "sequential"
}
}
}
{
“背景”:{
“我的字符串”:“[\'1\'、\'2\'、\'3\'”,
“我的_数组”:[
“一个”,
“两个”,
“三个”
]
},
“产出”:{
“文本”:{
“价值观”:[
“这是字符串大小:。这是我的数组大小:”
],
“选择策略”:“顺序”
}
}
}
以下是对话框中的答案:
这是字符串大小:23。这是我的数组大小:3
字符串类型支持函数length()
。
数组类型支持函数
size()
对于type string,可以使用length()
方法获取有关字符串中字符数的信息
这是两者的一个示例。字符串看起来像一个数组,但它是一个字符串(用引号括起来)
”。请注意数组类型周围没有引号:
{
"context": {
"my_string" : "[\"one\", \"two\", \"three\"]",
"my_array": [
"one",
"two",
"three"
]
},
"output": {
"text": {
"values": [
"This is string size: <?$my_string.length()?>. This is my array size: <? context.my_array.size()?>"
],
"selection_policy": "sequential"
}
}
}
{
“背景”:{
“我的字符串”:“[\'1\'、\'2\'、\'3\'”,
“我的_数组”:[
“一个”,
“两个”,
“三个”
]
},
“产出”:{
“文本”:{
“价值观”:[
“这是字符串大小:。这是我的数组大小:”
],
“选择策略”:“顺序”
}
}
}
以下是对话框中的答案:
这是字符串大小:23。这是我的数组大小:3
字符串类型支持函数length()
。
数组类型支持函数
size()
。我认为文档中的示例可能会让您感到困惑
您可以嵌套数组,甚至是字符串数组,但仍然可以将它们作为数组数据类型进行操作。您在文档中引用的示例旨在说明,如果在对话框响应中包含数组上下文变量作为字符串的一部分,则该数组将被视为字符串数据类型
例如,您可以在对话框节点的JSON编辑器中指定:
{
"context": {
"array": [
"one",
"two"
],
"array_of_strings": [
"<? $array ?>",
"three",
"four"
],
"string_array": "this is an array: $array"
},
注意:我能够在我的
$array\u of_strings
上下文变量中包含第一个数组作为数组数据类型。直到我将数组包含在字符串中,它才会像字符串一样工作。我希望这有意义?我认为文档中的示例可能会让您感到困惑
您可以嵌套数组,甚至是字符串数组,但仍然可以将它们作为数组数据类型进行操作。您在文档中引用的示例旨在说明,如果在对话框响应中包含数组上下文变量作为字符串的一部分,则该数组将被视为字符串数据类型
例如,您可以在对话框节点的JSON编辑器中指定:
{
"context": {
"array": [
"one",
"two"
],
"array_of_strings": [
"<? $array ?>",
"three",
"four"
],
"string_array": "this is an array: $array"
},
注意:我能够在我的
$array\u of_strings
上下文变量中包含第一个数组作为数组数据类型。直到我将数组包含在字符串中,它才会像字符串一样工作。我希望这是有意义的?我这里也有一些示例,你能给你添加一个示例吗?我这里也有一些示例,你能为你的问题添加一个例子吗?这是一个链接到WCS文档的size(),\“two\”]“您随后可以对$array变量执行数组方法,例如但不能对$string\u数组变量执行数组方法。”啊,我明白了。我被名称中的单词array弄糊涂了。:)所以string\u array
是字符串类型的inf事实…我已经更新了答案。这是指向size()的WCS文档的链接
method:Hi-Michal,我的查询实际上与“字符串数组”相关,这些数组包含对话文档中定义的数组。我将进一步解释:如果数组是:“$array:[”一“,”二“],那么-->$string\u数组:“字符串数组:[\”一“,”二“]“您随后可以对$array变量执行数组方法,例如但不能对$string\u数组变量执行数组方法。”啊,我明白了。我被名称中的单词array弄糊涂了。:)所以string\u array
是字符串类型的inf事实…我已经更新了答案。