Question: assign in proc not working

test := proc (value)
  local a, i:
  a := [jack, john, will]:
  for i in a do
    assign('i', value):
  end do:
  print(a);
end proc:

test(5);
                       [jack,john,will]

outside of the proc it works like I want it to

a:=[jack,john,will]
for i in a do
  assign('i',5):
end do:

a;
                          [5,5,5]

What am I doing wrong here?

Please Wait...