Skip to main content


As in other languages, a procedure is a series of ObjectScript commands (a section of a larger routine) that accomplishes a specific task. The code of a procedure is contained within curly braces.

By default, procedures are private, which means that you can only call them from elsewhere in the same routine. You can also create procedures that are public, using the Public keyword after the procedure name. Public procedures can be called from other routines.

Procedures need not have defined parameters. To create procedures with parameters, place a parenthesized list of variables immediately after the label.

Later on you'll also learn how to write your own functions, which are procedures which take parameters and return a value.

SAMPLES>do ^procexample

Enter a number: 4
setting a
setting b
setting c
setting d
SAMPLES>do proc2^procexample(7)

my favorite number is 7

The procexample.mac code:

procexample ; examples of procedures
    read !, "Enter a number: ", x
    if x = 4  {do proc1()}   ; call a procedure
    quit    ; end of the main routine

proc1() ; a private procedure
    write !, "setting a"  set a = 1
    write !, "setting b"  set b = 2
    write !, "setting c"  set c = 3
    write !, "setting d"  set d = 4

proc2(num) PUBLIC
    ; a public procedure with a parameter
    { write !, "my favorite number is ",num }
FeedbackOpens in a new tab