Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm midrange 检索数据结构字段的名称_Ibm Midrange_Rpgle_Rpg - Fatal编程技术网

Ibm midrange 检索数据结构字段的名称

Ibm midrange 检索数据结构字段的名称,ibm-midrange,rpgle,rpg,Ibm Midrange,Rpgle,Rpg,我想检索数据结构的字段名。可能吗?我的计划是编写一个toString()过程来转储给定的数据结构。例如,我可以将ds的所有字段名和值打印为JSON。而RPG并不真正像C一样支持“反射”;例如,在过去几年中,IBM增加了功能 最初,OpenAccess使用文件I/O操作代码。然后IBMforV7.2+添加了用于解析到数据结构中的操作代码。2019年秋天,IBM为v7.3+添加了从数据结构生成的操作代码 您可以自由编写自己的解析器或生成器 然而,Scott Klement在他和David Russo

我想检索数据结构的字段名。可能吗?我的计划是编写一个toString()过程来转储给定的数据结构。例如,我可以将ds的所有字段名和值打印为JSON。

而RPG并不真正像C一样支持“反射”;例如,在过去几年中,IBM增加了功能

最初,OpenAccess使用文件I/O操作代码。然后IBMforV7.2+添加了用于解析到数据结构中的操作代码。2019年秋天,IBM为v7.3+添加了从数据结构生成的操作代码

您可以自由编写自己的解析器或生成器


然而,Scott Klement在他和David Russo最初的开源IBM i端口中提供了一个解析器(YAJLINTO)和生成器(YAJLDTAGEN)。

一个好主意。但我认为这是不可能的。只有允许在运行时分配变量类型的动态语言,才能为程序提供列出变量属性的方法。@RockBoro您可能会感到惊讶,请查看我的答案。。)@罗克博罗-那是不对的。没有任何东西可以阻止静态类型语言在运行时公开变量的属性。并不是所有静态类型语言都这样做,但这只是一个设计决策,而不是一个技术问题。事实上,类型在编译时被冻结的事实将使静态类型的语言(如果它选择)比动态类型的语言(通常需要)更容易做到这一点。非常感谢,我来看看:)@bensen如果你觉得答案回答了你的问题,别忘了把它标记为已接受。