从Apama EPL中的“ any”类型转换时,空格是否相关?

时间:2019-02-27 09:46:47

标签: apama apama-templates

我正在使用Apama 10.3(社区版):

any emptyString := "";
any emptyDictionary := new dictionary<string,any>;
string myString := <string> emptyString;
dictionary<string,any> := <dictionary<string,any>> emptyDictionary;

第3行中的转换有效,但第4行中的Designer抱怨意外的令牌:<。仅当我使用空格时,它才起作用:

dictionary<string,any> := <dictionary< string,any> > emptyDictionary;

在文档Developing Apama Applications中未提及,但是在第296页上使用optional<>进行强制转换时,使用了正确的空格语法。

这是按预期的方式工作还是错误?

1 个答案:

答案 0 :(得分:3)

这里的问题不在于强制转换为any类型。这是由于EPL解析器始终将表达式>>解释为右移运算符。如果需要关闭两个尖括号,则始终需要在它们之间使用一个空格。只是受影响的是方括号(因为您无需在EPL中编写<<)。

我经常使用的表单是:

dictionary<string,any> x := <dictionary<string,any> > emptyDictionary;
sequence<sequence<string> > jaggedArray := new sequence<sequence<string> >;