我是ECL的新手,在尝试理解RIGHT和LEFT关键字(在DEDUP,GROUP和其他功能中使用)时遇到了麻烦。它们如何工作? 《 ECL参考指南》只有一个段落,说明了该怎么做。
例如,这段代码在做什么?
MyRec := RECORD
STRING1 Value1;
STRING1 Value2;
END;
SomeFile := DATASET([{'C','G'},
{'C','C'},
{'A','X'},
{'B','G'},
{'A','B'}], MyRec);
Dedup2 := DEDUP(Val2Sort, LEFT.Value2 = RIGHT.Value2);
显然,问题在于我查看数据的方式。我将DATASET格式化为一列,以使其更易于理解,并最终弄乱了我的视线。 LEFT和RIGHT是数据集中的每个注册表,应按以下方式查看:
DATASET([{'C','G'},{'C','C'},{'A','X'},{'B','G'},{'A','B'}])
这样,在第一次迭代中,{'C','G'}(LEFT)将与{'C','C'}(RIGHT),等等,等等。