【问题标题】:Is it possible to create constants in Progress-4GL?是否可以在 Progress-4GL 中创建常量?
【发布时间】:2021-05-28 20:20:22
【问题描述】:

下午好, 是否可以在 Progress-4GL 中创建常量?

here 提出了同样的问题,但该问题是基于面向对象编程的(我没有这样做)。

【问题讨论】:

    标签: constants openedge progress-4gl


    【解决方案1】:

    ABL 中没有constant 关键字。

    创建常量值的最简单方法是使用静态属性。这些可用于任何代码,甚至是程序代码。

    class ConstantValues:
      define static public PI as decimal initial 3.14159 get.
    end class.
    

    您可以添加一个私有 setter 并在静态构造函数中进行赋值,而不是 initial 值。

    如果您不能或不想使用这种方法,您可以使用预处理器。如果您需要共享这些值,则在包含中定义预处理器并在您的程序(甚至类)中使用它们。

    但是,对我而言,如果您要创建新的常量值,那么需要做的工作就更多了。

    【讨论】:

      【解决方案2】:

      即使不是常量,也可能是相当老派,您也可以定义可以作为常量工作的预编译器语句。

      有可能是全局 (&GLOBAL-DEFINE) 而不是全局 (&SCOPED-DEFINE)

      也可以取消定义、检查已定义和其他基本的东西。

      这些是在编译时定义的,因此在程序运行时不能动态更改。

      &SCOPED-DEFINE const1 1
      &GLOBAL-DEFINE const2 hello
      
      DISPLAY {&const1} "{&const2}".
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-22
        • 1970-01-01
        • 2023-03-20
        • 2018-03-23
        • 2021-06-23
        • 2022-03-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多