我想使用变量的名称作为文字/字符串来调用过程。寻找一个过程/ 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:值
答案 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)
完成什么工作?