Ibm cloud IBM Watson-会话响应条件

Ibm cloud IBM Watson-会话响应条件,ibm-cloud,ibm-watson,watson-conversation,watson,Ibm Cloud,Ibm Watson,Watson Conversation,Watson,我对Watson Conversation和Watson in generel很陌生,我遇到了一个我想在Watson Conversation应用程序中处理的情况,但我不明白 基本上,我想在响应中添加一个“高级”条件,以便可以执行以下操作,例如: 条件:如果@sys number==整数 响应:@sys number是一个整数 /^[0-9]*$/ 如果@sys number==Double,则为条件 回复:@sys number是一个双精度的 目前我被卡住了,因为我可以通过@sys-numb

我对Watson Conversation和Watson in generel很陌生,我遇到了一个我想在Watson Conversation应用程序中处理的情况,但我不明白

基本上,我想在响应中添加一个“高级”条件,以便可以执行以下操作,例如:

条件:如果@sys number==整数

响应:@sys number是一个整数

/^[0-9]*$/
如果@sys number==Double,则为条件

回复:@sys number是一个双精度的

目前我被卡住了,因为我可以通过@sys-number.numeric_value.class获得@sys number类,该类的计算结果为“class java.lang.Integer”,但我无法在条件字段中进行比较

我试过做一些不同的事情,其中最明显的是

if(@sys number instanceof java.lang.Integer)


我知道这可以在应用程序端处理,但如果可能的话,我想要一个解决方案对话端。

使用正则表达式,例如,下面将查找整数

/^[0-9]*$/

本质上,“@sys number”实体是一个字符串,因为它属于用户的输入。 因此,如果您想测试用户输入的@sys number实体是否可以转换为整数或浮点,您必须尝试:

IF @sys-number AND input.text.find('\d+') 

IF @sys-number AND input.text.find('\d+[,\.]\d+')
当且仅当未触发任何条件时,@sys编号来自字母输入