我正在尝试创建一个将采用数组并返回已使用元素计数的过程(为什么这不是BIF?).我正在努力找到一种方法将一个未知大小的数组传递给我的程序.
就像是...
P count B
D count PI 3 0
D array *
D size 10 0
D elems 3 0
*
D ct S 3 0
/free
// find the first blank or zero element and return
/end-free
P count E
Run Code Online (Sandbox Code Playgroud)
显然我是新手,所以我有几个问题:
我知道我可以保留一个单独的计数器变量,只要我在数组中设置一个元素就会增加,但我真的想找到一个更好的解决方案...谢谢你阅读.
我已经在RPG中编程......很长一段时间.看到一个新的RPG程序员是非常了不起的,看到现代编码概念从一开始就使用起来是非常了不起的.
RPG开始使用固定大小的一切.固定大小的字符串,固定大小的数字和固定大小的数组.作为一种基于打孔卡的强类型语言,这一切都是有道理的.当然,现代计算要求往往需要不同大小的字符串,数字和数组.RPG仍然是强类型的,因此给定变量只能是字符串或数字; 它永远不会切换类型.这也意味着编译器没有办法在运行时确定变量类型 - 变量类型是不可变的,程序员和编译器都知道该类型是什么.那好吧.
至于你的不同长度数组,有一些希望.Mihael Schmidt有一个名为ArrayList的服务程序,可以满足您的许多需求.