gpt4 book ai didi

arrays - 如何以自由格式 RPGLE 将一个字符的多个位置存储在数组中的字符串中?

转载 作者:行者123 更新时间:2023-12-04 02:58:18 27 4
gpt4 key购买 nike

在标准 RPGLE 中,我的代码如下所示。此语句将逗号在 Data 中的位置存储在 ComArr 数组中。

C     ','           Scan      Data          ComArr  

我试着用这样的自由格式来做。但是 ComArr 数组的所有索引都加载了 Data 中逗号的第一个位置。这是因为 %Scan 仅返回一个位置,并且在将其保存到数组后最终会使用单个值加载整个数组。

ComArr = %Scan(',':Data) ;

是否有任何其他方法可以像在 C 规范中那样以自由格式 RPGLE 处理 SCAN?基本上我想拆分由分隔符分隔的字符串。

最佳答案

一种可能性是保持 C 规范不变。如果代码块需要一组分隔符位置,并且一行代码已经这样做了,请在固定格式规范上方添加注释,描述它的作用并将其保留在那里。

如果需要/free 并且您不想替换整个代码块,则需要滚动自己的循环来构建分隔符数组。

除非我重写代码块以使其在功能上有所不同,否则我不会亲自从固定的转换为/自由的。也就是说,我几乎肯定会在/free 中编写与在 fixed 中编写的算法不同的算法。因此,构建分隔符位置数组然后根据该数组拆分字符串的整个过程不是我在/free 中会做的事情。

我会编写一个新的子过程,在给定一个分隔输入字符串的情况下返回一个字符串数组。该子过程中的代码将通过输入进行一次传递,使用 %scan() 查找定界符,对于找到的每个定界符,将子字符串拆分为下一个可用的输出数组元素。这种算法不需要分隔符位置数组。

关于arrays - 如何以自由格式 RPGLE 将一个字符的多个位置存储在数组中的字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43907598/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com