从 Apama EPL 中的 'any' 类型投射时,白色 space 是否相关?
Is white space relevant when casting from the 'any' type in Apama EPL?
我使用的是 Apama 10.3(社区版):
any emptyString := "";
any emptyDictionary := new dictionary<string,any>;
string myString := <string> emptyString;
dictionary<string,any> := <dictionary<string,any>> emptyDictionary;
第 3 行中的转换有效,但在第 4 行中设计器抱怨意外令牌:<
。只有当我使用空格时它才有效:
dictionary<string,any> := <dictionary< string,any> > emptyDictionary;
在文档 Developing Apama Applications 中没有提到这一点,但在第 296 页上使用 optional<>
进行转换时,使用了正确的空格语法。
这是按预期工作还是一个错误?
这里的问题不在于转换为 any
类型。这是因为 EPL 解析器总是将表达式 >>
解释为右移运算符。如果需要关闭两个尖括号,则始终需要在它们之间使用 space。只有右括号会受到影响(因为您永远不需要在 EPL 中编写 <<
)。
我经常使用的表格是:
dictionary<string,any> x := <dictionary<string,any> > emptyDictionary;
sequence<sequence<string> > jaggedArray := new sequence<sequence<string> >;
我使用的是 Apama 10.3(社区版):
any emptyString := "";
any emptyDictionary := new dictionary<string,any>;
string myString := <string> emptyString;
dictionary<string,any> := <dictionary<string,any>> emptyDictionary;
第 3 行中的转换有效,但在第 4 行中设计器抱怨意外令牌:<
。只有当我使用空格时它才有效:
dictionary<string,any> := <dictionary< string,any> > emptyDictionary;
在文档 Developing Apama Applications 中没有提到这一点,但在第 296 页上使用 optional<>
进行转换时,使用了正确的空格语法。
这是按预期工作还是一个错误?
这里的问题不在于转换为 any
类型。这是因为 EPL 解析器总是将表达式 >>
解释为右移运算符。如果需要关闭两个尖括号,则始终需要在它们之间使用 space。只有右括号会受到影响(因为您永远不需要在 EPL 中编写 <<
)。
我经常使用的表格是:
dictionary<string,any> x := <dictionary<string,any> > emptyDictionary;
sequence<sequence<string> > jaggedArray := new sequence<sequence<string> >;