Task

Create a function which takes in a variable number of arguments and prints each one on its own line.

Also show, if possible in your language, how to call the function on a list of arguments constructed at runtime.



Functions of this type are also known as Variadic Functions.



Related task

   Call a function


MODULE Varargs EXPORTS Main;
 
IMPORT IO;
 
VAR strings := ARRAY [1..5] OF TEXT {"foo", "bar", "baz", "quux", "zeepf"};
 
PROCEDURE Variable(VAR arr: ARRAY OF TEXT) =
  BEGIN
    FOR i := FIRST(arr) TO LAST(arr) DO
      IO.Put(arr[i] & "\n");
    END;
  END Variable;
 
BEGIN
  Variable(strings);
END Varargs.