RPG中的字符串化?

时间:2019-06-11 15:34:57

标签: ibm-midrange rpgle

我想使用变量的名称作为文字/字符串来调用过程。寻找一个过程/ api /任何东西来模拟C语言的Stringizing运算符。甚至有可能吗?

myField = Value;
myProc(stringize(myField):myField);


dcl-proc myProc;
dcl-pi;
   variableName char(10);
   value        char(10);
end-pi;
   dsply (variableName + ': ' + value);
end-proc; 

预期结果:
myField:值

1 个答案:

答案 0 :(得分:3)

不。那甚至不是C运算符,而是宏扩展的产物。 C预编译器执行扩展。 RPG编译器中没有执行此操作的程序。您可以通过在developerworks上提交RFE来请求此功能。

但是,我不太了解这个需求。 C宏只是将参数名称转换为这样的文本:

#define stringize(x) #x

a = stringize(test);

得出a = "test";

为什么不只使用a = "test";

在RPG中,为什么不只使用a = 'test';

或在您的示例myProc('myfield': myfield);

stringize(myfield)完成什么工作?