在PL1中,可以使用选项BY NAME来分配结构。此功能是在运行时使用还是仅在编译时使用?
在这种情况下,IBM文档没有太大帮助。
您是在谈论过程中的BY NAME赋值(更广为人知的是BY Reference),还是在赋值中的BY NAME???。
根据手册参考资料,我认为您谈论的是PL1赋值中的BY NAME赋值选项,它是Cobol移动对应子句的变体。
是的,可以使用BY NAME选项分配pl1结构。它将在编译时确定具体分配给什么。
参见PL1 中的"按名称"示例
这基本上列出了:
declare declare declare
1 One, 1 Two, 1 Three,
2 Part1, 2 Part1, 2 Part1,
3 Red, 3 Blue, 3 Red,
3 Orange, 3 Green, 3 Blue,
2 Part2, 3 Red, 3 Brown,
3 Yellow, 2 Part2, 2 Part2,
3 Blue, 3 Brown, 3 Yellow,
3 Green; 3 Yellow; 3 Green;
使用按名称子句的赋值语句
One = Two, by name;
One.Part1 = Three.Part1, by name;
1第一个赋值语句如下:
One.Part1.Red = Two.Part1.Red;
One.Part2.Yellow = Two.Part2.Yellow;
2第二个赋值语句如下:
One.Part1.Red = Three.Part1.Red;