我正在使用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<>
进行强制转换时,使用了正确的空格语法。
这是按预期的方式工作还是错误?
答案 0 :(得分:3)
这里的问题不在于强制转换为any
类型。这是由于EPL解析器始终将表达式>>
解释为右移运算符。如果需要关闭两个尖括号,则始终需要在它们之间使用一个空格。只是受影响的是方括号(因为您无需在EPL中编写<<
)。
我经常使用的表单是:
dictionary<string,any> x := <dictionary<string,any> > emptyDictionary;
sequence<sequence<string> > jaggedArray := new sequence<sequence<string> >;