> DummyProcedure_1 := proc()
> lprint('Inside procedure 1');
> lprint('The value of u before assignment: ', u);
> u := -8000;
> lprint('The value of u after assignment: ', u);
> end:
> DummyProcedure_2 := proc()
> lprint('Inside procedure 2');
> lprint('The value of u before assignment: ', u);
> u := 999;
> lprint('The value of u after assignment: ', u);
> end:
Note that each time we call either of the above procedures, the
variable u has no value associated with it initially.
Because it does not have a value, Darwin treats u as a name in the lprint command before the assignment of
either -8000 or 999 to u.
No matter which order or how many times we invoke the dummy_procedures, their local copies of the variable u remain unaffected by the assignments done to the other. > DummyProcedure_1(); Inside procedure 1 The value of u before assignment: u The value of u after assignment: -8000 > DummyProcedure_2(); Inside procedure 2 The value of u before assignment: u The value of u after assignment: 999 > DummyProcedure_1(); Inside procedure 1 The value of u before assignment: u The value of u after assignment: -8000