3

我在 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;

开发 Apama 应用程序的文档中没有提到这一点,但是在第 296 页上,使用 进行转换时optional<>,使用了带有空格的正确语法。

这是否按预期工作还是一个错误?

4

1 回答 1

3

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

我经常使用的形式是:

dictionary<string,any> x := <dictionary<string,any> > emptyDictionary;
sequence<sequence<string> > jaggedArray := new sequence<sequence<string> >;
于 2019-02-27T09:54:49.570 回答