Ability to use unnamed array as parameter

  • Thread starter Thread starter Lieven De Foor
  • Start date Start date
Status
Not open for further replies.
L

Lieven De Foor

Guest
Currently you need to create a variable of type EXTENT to be able to pass an array to a method/procedure that expects an array. You should be able to do this without creating a variable first, by just passing in the array as a list of values between square brackets [1,2,3]: DEFINE VARIABLE IntegerArray1 AS INTEGER NO-UNDO EXTENT INITIAL [1,2,3]. DEFINE VARIABLE IntegerArray2 AS INTEGER NO-UNDO EXTENT. DEFINE VARIABLE Sum AS INTEGER NO-UNDO. /* --------------------------------------------------------------------- */ /* Option 1 */ RUN SumOfArrayElements(IntegerArray1, OUTPUT Sum). MESSAGE Sum VIEW-AS ALERT-BOX. /* Option 2 */ ASSIGN EXTENT(IntegerArray2) = 3 IntegerArray2[1] = 4 IntegerArray2[2] = 5 IntegerArray2[3] = 6. RUN SumOfArrayElements(IntegerArray2, OUTPUT Sum). MESSAGE Sum VIEW-AS ALERT-BOX. /* Option 3, not compiling! */ /*RUN SumOfArrayElements([7,8,9], OUTPUT Sum).*/ /* */ /*MESSAGE Sum */ /* VIEW-AS ALERT-BOX. */ /*****************************************************************************/ PROCEDURE SumOfArrayElements PRIVATE: DEFINE INPUT PARAMETER IntegerArray AS INTEGER NO-UNDO EXTENT. DEFINE OUTPUT PARAMETER Sum AS INTEGER NO-UNDO. DEFINE VARIABLE Counter AS INTEGER NO-UNDO. /* --------------------------------------------------------------------- */ DO Counter = 1 TO EXTENT(IntegerArray): ASSIGN Sum = Sum + IntegerArray[Counter]. END. END PROCEDURE. /* SumOfArrayElements */

Continue reading...
 
Status
Not open for further replies.
Back
Top