【问题标题】:Is there a way to define a table of object references?有没有办法定义对象引用表?
【发布时间】:2023-02-15 19:01:42
【问题描述】:

我试图弄清楚是否可以定义一个表,其中每个项目都使用对象引用。

根据最新的COBOL标准,usage object reference只能在01级数据项中定义,01级数据项上不能定义表。所以这似乎不允许对象表,对吧?

我正在尝试使用表和泛型编写类似 List<T> 的内容,但这个问题将导致无法制作对象的通用列表。我需要进行健全性检查,我是否遗漏了什么?是否可以在 COBOL 中定义对象表?

如果没有,是否有任何解决方法?

【问题讨论】:

  • 您可以定义特定对象的表格。您在 01 级别的 WORKING-STORAGE 中定义对象。然后您可以定义一个表,其中每个对象都是 PIC X(N),其中 N 不小于对象的字节长度。
  • 嘿@GilbertLeBlanc,这是行不通的,因为不能保证这些对象中的值是字母数字,特别是与泛型结合使用时。
  • COBOL 世界中的一切都是字母数字的。
  • @GilbertLeBlanc 那不是真的,特别是对于指针和对象引用。您不能将原始指针或对象引用分配给字母数字项并期望获得有效的字母数字值(甚至不确定是否可以编译)。这也适用于 COBOL 对象引用,因为它们指向一个对象而不是组项或基本项。

标签: generics cobol


【解决方案1】:

使用 Micro Focus COBOL,您可以:

   class-id. MyItem public.

   01 MyField binary-long public.
   end class.

   program-id. example.
   01  mylist list[type MyItem].

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多